取消
顯示的結果
而不是尋找
你的意思是:

與sql字符串在細胞分裂

dulu
新的貢獻者三世

我有下麵的輸入:

hinh22

我在尋找一種item_order_detail列的字符分割成2列itemID和itemName。如下輸出表使用SQL函數在磚3.2.1 spark_sql版本。

hinh223誰能提出一個解決方案給我嗎?

感謝所有

6個回答6

Wassim
新的貢獻者三世

嗨,你必須從單一列提取itemID和itemName item_order_detail——你可以利用from_json函數。我希望代碼幫助,

選擇order_id from_json (item_order_details itemid字符串,itemname字符串)從訂單選擇order_id物品,物品。itemid,物品。itemname從訂單側視from_json (item_order_details itemid字符串,itemname字符串)項目項

Wassim
新的貢獻者三世

和pyspark——相同

df = spark.table df = df(“訂單”)。withColumn(“項目”,from_json (df (“item_order_details”),“itemid字符串,itemname字符串”))df = df。選擇(“order_id”、“項目。itemid”、“items.itemname”)

dulu
新的貢獻者三世

嗨@Wasim Inamdar

我試過,錯誤波形:

選擇order_id from_json (item_order_details itemid字符串,itemname字符串)的項目訂單

結果

224年

選擇order_id,物品。itemid,物品。itemname從訂單側視from_json (item_order_details itemid字符串,itemname字符串)項目項

錯誤的SQL語句:AnalysisException: from_json預計將發電機。然而,它的類是org.apache.spark.sql.catalyst.expressions。JsonToStructs,這不是一個發電機

匿名
不適用

如果你有一個結構體類型和json,您可以爆炸的列,然後提取部分。https://spark.apache.org/docs/latest/api/sql/index.html爆炸將解壓縮或flatmap數組。隻是選擇秩序和爆炸(“item_order_details”)

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map