0

Je voulais que toutes mes données stockées dans Buckets (ex: /bucket/project/odate/odate_cust.txt) soient chargées dans la table dans Big Query qui est partitionnée DAY? Ai-je besoin d'importer les fichiers un par un et de les charger ou de les charger directement dans plusieurs partitions?Pouvons-nous créer une partition dynamique dans Big Query comme dans Hive?

**bq mk --time_partitioning_type=DAY market.cust custid:string,grp:integer,odate:string** 

Répondre

1

Actuellement, vous devez spécifier la partition (using the $ decorator syntax) pour chaque charge de le mettre dans la partition correspondante. Sinon, BigQuery utilisera l'heure UTC du travail de chargement pour sélectionner la partition. Il y a une fonctionnalité à venir qui permettra le partitionnement par votre propre champ (je suppose que vous avez un champ TIMESTAMP ou DATE dans vos fichiers que vous pouvez partitionner). Cependant, ils ne l'ont pas encore sorti (ça va bientôt devenir alpha). Vous pouvez suivre sa progression here. Si vous êtes pressé, voici quelques solutions de contournement (par exemple, le chargement dans une table non partitionnée, puis l'utilisation de SQL ou Cloud Dataflow pour le partitionnement ultérieur). Jetez un oeil here. Enfin, si vos noms de fichier contiennent une date/jour pour la partition, il vous suffira de scripter vous-même quelque chose qui regarde le nom du fichier et exécute plusieurs tâches de chargement et place les données dans la partition correspondante dans la table.

+0

Merci beaucoup d'avoir répondu. Cela signifie donc qu'il y aura une fonctionnalité pour la partition avec une autre colonne présente dans le jeu de données. – user3858193