我需要从gz获取特定数据。 怎么写sql? 我可以将sql作为表数据库吗?:
Select * from gz_File_Name where key = 'keyname' limit 10.
但它总是会返回错误。
答案 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