2017-03-22 3 views

Répondre

1

Vous devez créer une table externe Hive sur cet emplacement de fichier (dossier) pour pouvoir interroger à l'aide de Hive. Hive reconnaîtra le format gzip. Comme ceci:

create external table hive_schema.your_table (
col_one string, 
col_two string 
) 
stored as textfile --specify your file type, or use serde 
LOCATION 
    's3://your_s3_path_to_the_folder_where_the_file_is_located' 
; 

Voir le manuel sur la table Hive ici: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-CreateTableCreate/Drop/TruncateTable

Pour être précis s3 sous le capot ne stocke pas les dossiers, nom de fichier contenant/s en s3 représenté par différents outils tels que Hive comme un structure de dossier. Voir ici: https://stackoverflow.com/a/42877381/2700344

+0

la nouvelle table devrait construire en S3? n'importe où? – daxue

+0

Je pense que vous travaillez avec S3 parce que vous avez étiqueté votre question amazon-s3. Vous pouvez utiliser HDFS à la place si vous avez une telle option. La table Hive peut être créée avec l'emplacement dans S3 ou HDFS. Vous devez mettre votre fichier dans l'emplacement de la table. Hive va scanner tous les fichiers à l'intérieur de l'emplacement de la table. Vous pouvez uniquement utiliser s3 ou HDFS à cette fin. – leftjoin

+0

Merci ... Je me demande si HDFS est une base de stockage tout comme S3 ou MySQL? – daxue