utilisant: Apache DrillConversion de chaînes de CSV à plusieurs colonnes dans Drill Apache
Je suis en train d'apporter les données suivantes sous une forme plus structurée:
"apple","juice", "box:12,shipment_id:143,pallet:B12"
"mango", "pulp", "box:7,shipment_id:133,pallet:B19,route:11"
"grape", "jam", "box:10"
sortie souhaitée:
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
Le jeu de données s'exécute en deux Go. Drill lit l'entrée dans trois colonnes avec la dernière chaîne dans une seule colonne. Avoir réussi la sortie désirée en effectuant des opérations de manipulation de chaînes (REGEXP_REPLACE et CONCAT) sur la dernière colonne, puis en lisant la colonne comme json (CONVERT_FROM), et finalement en séparant différentes colonnes en utilisant KVGEN et FLATTEN.
Le temps d'exécution est assez élevé en raison des fonctions regex. Est-ce qu'il y a une meilleure approche? (PS: le temps d'exécution est comparé à l'utilisation d'un travail pyspark pour obtenir la sortie souhaitée).