Je travaille avec l'ensemble de données csv accessible au public à partir MovieLens J'ai créé un ensemble de données partitionné pour le ratings.csv:comment importer correctement le jeu de données csv en utilisant le schéma partitionné kite-dataset?
kite-dataset create ratings --schema rating.avsc --partition-by year-month.json --format parquet
Voici mon année month.json:
[ {
"name" : "year",
"source" : "timestamp",
"type" : "year"
}, {
"name" : "month",
"source" : "timestamp",
"type" : "month"
} ]
Voici ma commande import csv:
mkite-dataset csv-import ratings.csv ratings
Après l'importation terminée, j'ai couru cette commande pour voir si des partitions année et mois où en fait créé:
hadoop fs -ls /user/hive/warehouse/ratings/
Ce que j'ai remarqué, est que seule une seule partition de l'année a été créé, et à l'intérieur de celui-ci une partition unique de mois a été créé:
[[email protected] 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
[[email protected] 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
Quelle est la la bonne façon d'effectuer une telle importation partitionnée, ce qui entraînerait la création de toutes les années et toutes les partitions mois?