【问题标题】:How to load parquet file to a hive table如何将镶木地板文件加载到配置单元表
【发布时间】:2017-02-22 22:00:46
【问题描述】:

我已经从 mysql 完成了一个 sqoop 导入并得到了一个 csv 文件。 文件内容如下

1,KM,Skypark,null,2017-02-21 14:40:49.0,null
2,KM,null,null,2017-02-21 14:40:49.0,null
3,HD,null,null,2017-02-21 14:40:49.0,null
4,AB,SD,USA,2017-02-21 14:40:49.0,null
5,ABa,SaD,US,2017-02-21 14:40:49.0,null
6,DF,SDF,SF,2017-02-21 14:40:49.0,null
7,DF,SDF,SF,2017-02-21 14:41:44.0,null
8,DF,SDF,SF,2017-02-21 14:44:55.0,null
9,DF,SDF,SF,2017-02-21 14:47:59.0,null

现在我已经将同样的 sqoop 导入作为 parquet 文件。我有一个扩展名为 .parquet 的文件。

我想使用 parquet 文件创建一个表。我尝试了以下方法,但它给了我不同的奇怪错误。

create external table test(id int, name string, address string, nation string, date string) row format delimited fields terminated by ',' stored as parquet;

load data inpath '/user/XXXXX/test' into table test;

如何让 parquet 表给我与 csv 表一样的准确结果。

假设我在存储先前数据的同一文件夹中获得了增量数据。我得到了 ID 10 和 11 的记录。现在,当我将数据从文件夹加载到 parquet 表时,我将增量数据作为第一条记录,然后是初始数据。

我的意思是说桌子看起来像

10 ..............
11 ..............
 1 ..............
 2 ..............

像这样我希望第一条记录是第一条记录,最后是增量数据

我们怎样才能做到这一点?

【问题讨论】:

    标签: hive sqoop parquet


    【解决方案1】:

    创建拼花表时不需要指定以下语句

    以','结尾的行格式分隔字段

    只要指定存储为 parquet 就足够了

    create external table test(id int, name string, address string, nation string, date string) stored as parquet location '/user/XXXXX/test';
    

    【讨论】:

    • 你能再看看这个问题吗?我已经编辑了这个问题
    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多