【发布时间】:2016-10-27 11:50:38
【问题描述】:
我正在使用来自 MovieLens 的公开可用的 csv 数据集 我为 rating.csv 创建了一个分区数据集:
kite-dataset create ratings --schema rating.avsc --partition-by year-month.json --format parquet
这是我的年月.json:
[ {
"name" : "year",
"source" : "timestamp",
"type" : "year"
}, {
"name" : "month",
"source" : "timestamp",
"type" : "month"
} ]
这是我的 csv 导入命令:
mkite-dataset csv-import ratings.csv ratings
导入完成后,我运行这个命令来查看年月分区是否实际创建在哪里:
hadoop fs -ls /user/hive/warehouse/ratings/
我注意到,只创建了一个年份分区,并且在其中一个单个月份分区被创建:
[cloudera@quickstart ml-20m]$ hadoop fs -ls /user/hive/warehouse/ratings/
Found 3 items
drwxr-xr-x - cloudera supergroup 0 2016-06-12 18:49 /user/hive/warehouse/ratings/.metadata
drwxr-xr-x - cloudera supergroup 0 2016-06-12 18:59 /user/hive/warehouse/ratings/.signals
drwxrwxrwx - cloudera supergroup 0 2016-06-12 18:59 /user/hive/warehouse/ratings/year=1970
[cloudera@quickstart ml-20m]$ hadoop fs -ls /user/hive/warehouse/ratings/year=1970/
Found 1 items
drwxrwxrwx - cloudera supergroup 0 2016-06-12 18:59 /user/hive/warehouse/ratings/year=1970/month=01
进行这种分区导入的正确方法是什么,这将导致创建所有年份和所有月份的分区?
【问题讨论】:
标签: hadoop hdfs cloudera-cdh hadoop-partitioning kite-dataset