【发布时间】:2017-03-20 21:10:54
【问题描述】:
我创建了一个配置单元表,如下所示:
create table parqtab(id int, name char(30), city char(30))
partitioned by (country char(30))
row format delimited
fields terminated by ','
stored as parquet
location '/home/hive/practice';
并加载以下数据:
3,Bobby,London
4,Sunny,Amsterdam
使用加载命令:
load data local inpath '/home/cloudera/Desktop/hid' into table parqtab partition(country='abcd');
当我从 parqtab 查询 select * 时,它给了我以下错误:
Failed with exception java.io.IOException:java.lang.RuntimeException:
hdfs://quickstart.cloudera:8020/home/hive/practice/country=abcd/hid is not a Parquet file. expected magic number at tail [80, 65, 82, 49] but found [111, 114, 101, 10]
Time taken: 0.227 seconds
我知道查询以 parquet 格式存储的数据不是正确的方法。但我不明白该怎么做。谁能告诉我我在这里犯了什么错误以及如何正确查询表格?
【问题讨论】:
-
你是如何“加载”数据的? Sqoop --as-parquet?
-
@AM_Hawk 我添加了我使用的加载命令。