web-dev-qa-db-fra.com

Comment puis-je obtenir les noms de schéma/colonne du fichier parquet?

J'ai un fichier stocké dans HDFS en tant que part-m-00000.gz.parquet

J'ai essayé d'exécuter hdfs dfs -text dir/part-m-00000.gz.parquet mais il est compressé. J'ai donc exécuté gunzip part-m-00000.gz.parquet, mais il ne décompresse pas le fichier car il ne reconnaît pas l'extension .parquet

Comment puis-je obtenir les noms de schéma/colonne pour ce fichier?

12
Super_John

Vous ne pourrez pas "ouvrir" le fichier en utilisant un fichier hdfs dfs -text car ce n'est pas un fichier texte. Les fichiers de parquet sont écrits sur le disque très différemment des fichiers texte.

Et dans le même ordre d’idées, le projet Parquet fournit des outils pour le parquet permettant d’accomplir des tâches similaires à celles que vous tentez de faire. Ouvrez et voyez le schéma, les données, les métadonnées, etc.

Découvrez le projet parquet-tool (qui se résume simplement à un fichier jar.) parquet-tools

Cloudera, qui soutient et contribue fortement à Parquet, contient également une page de Nice avec des exemples d'utilisation des outils de parquet. Un exemple de cette page pour votre cas d'utilisation est

parquet-tools schema part-m-00000.parquet

Commander la page Cloudera. Utilisation du format de fichier de parquet avec Impala, Hive, Pig, HBase et MapReduce

19
Urvishsinh Mahida

Si vos fichiers Parquet se trouvent dans HDFS ou S3, comme moi, vous pouvez essayer les solutions suivantes:

HDFS

parquet-tools schema hdfs://<YOUR_NAME_NODE_IP>:8020/<YOUR_FILE_PATH>/<YOUR_FILE>.parquet

S3

parquet-tools schema s3://<YOUR_BUCKET_PATH>/<YOUR_FILE>.parquet

J'espère que ça aide.

3
pdm

Puisqu'il ne s'agit pas d'un fichier texte, vous ne pouvez pas créer de "texte" dessus . Vous pouvez le lire facilement via Hive même si les outils de parquet ne sont pas installés, si vous pouvez charger ce fichier dans un Hive table.

0
Daya Venkatesan