Hive:将 gzip 压缩的 CSV 从 hdfs 作为只读加载到 table

Hive: load gziped CSV from hdfs as read-only into a table

我有一个 hdfs 文件夹,里面有很多 csv.gz,都具有相同的架构。我的客户需要通过 Hive 读取这些 table 的内容。

我尝试申请 https://cwiki.apache.org/confluence/display/Hive/CompressedStorage 。但是它移动了文件,而我需要它保留在其初始目录中。

另一个问题是我应该一个一个地加载每个文件,我宁愿从目录创建一个 table 而不是单独管理文件。

我完全不掌握 Hive。他的可能吗?

是的,这可以通过 Hive 实现。您可以创建外部 table 并引用包含 gzip 文件的现有 HDFS 位置。应在 table 创建期间指定数据架构。

hive> CREATE EXTERNAL TABLE my_data 
      (
        column_1 int,
        column_2 string
      )
      LOCATION 'hdfs:///my_data_folder_with_gzip_files';