如何使用Qubole Hive查询从Amazon S3的gz文件查询数据?

时间:2017-03-22 05:28:08

标签: amazon-s3 hive gz qubole

我需要从gz获取特定数据。 怎么写sql? 我可以将sql作为表数据库吗?:

  Select * from gz_File_Name where key = 'keyname' limit 10.

但它总是会返回错误。

1 个答案:

答案 0 :(得分:1)

您需要在此文件位置(文件夹)上创建Hive外部表,以便能够使用Hive进行查询。 Hive会识别gzip格式。像这样:

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'
;

请参阅此处的Hive表手册:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-CreateTableCreate/Drop/TruncateTable

准确地说,引擎盖下的s3不存储文件夹,包含/ s的文件名在s3中由不同的工具表示,如Hive,如文件夹结构。见这里:https://stackoverflow.com/a/42877381/2700344