【问题标题】:Creating Hive table on top of multiple parquet files in s3在 s3 中的多个镶木地板文件之上创建 Hive 表
【发布时间】:2018-08-02 12:27:09
【问题描述】:

我们的数据集在 s3(parquet 文件)中,格式如下,数据根据行号分为多个 parquet 文件。

data1_1000000.parquet
data1000001_2000000.parquet
data2000001_3000000.parquet
...

我们有 2000 多个这样的文件,每个文件都有数百万条记录。所有这些文件都具有相同数量的列和结构。如果我们需要在 hive 中对数据集进行分区,其中一列中包含时间戳。我们如何指向数据集并在其上创建一个单独的 hive 外部表以供我们分析,或者可以使用 spark 进行分析?

谢谢。

【问题讨论】:

    标签: hadoop apache-spark hive amazon-emr parquet


    【解决方案1】:

    您可以简单地指向包含文件的路径:

    CREATE EXTERNAL TABLE parquet_hive (
      foo string
    ) STORED AS PARQUET
    LOCATION 's3://myBucket/myParquet/';
    

    【讨论】:

    • 我没有意识到位置只是路径,而不是文件名。文件名是继承自STORED AS和查询中的表名吗??
    • 文件名无关。给定目录中的所有文件(我认为包括子目录)都将被视为表的一部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-24
    • 2022-10-25
    • 1970-01-01
    • 2018-04-20
    • 2016-12-11
    相关资源
    最近更新 更多