0
將CSV字符串多列使用:阿帕奇鑽在Apache中鑽
我試圖把下面的數據更加結構化的形式:
"apple","juice", "box:12,shipment_id:143,pallet:B12"
"mango", "pulp", "box:7,shipment_id:133,pallet:B19,route:11"
"grape", "jam", "box:10"
所需的輸出:
fruit, product, box_id, shipment_id, pallet_id, route_id
apple,juice, 12, 143, B12, null
mango, pulp, 7, 133, B19, 11
grape, jam, 10, null, null, null
數據集運行到幾個GB中。 Drill將輸入讀入三列,最後一個字符串放在一列中。通過對最後一列執行字符串操作操作(REGEXP_REPLACE和CONCAT),然後將該列讀作json(CONVERT_FROM),並最終使用KVGEN和FLATTEN分離到不同的列,成功實現了期望的輸出。
由於正則表達式函數的執行時間相當長。有更好的方法嗎?
(PS:將執行時間與使用pyspark作業來實現所需輸出進行比較)。