我是 Pig 和 hive 的新手,我需要使用 pig load-store 将存储在 hdfs 上的 csv 文件中的数据加载到 hive 表中。 我正在使用
load_resource_csv = LOAD '/user/hadoop/emp.csv' USING PigStorage(',')
AS
(dates:chararray,
shipnode_key:chararray,
delivery_method:chararray,
);
STORE load_resource_csv
INTO 'employee'
USING org.apache.hive.hcatalog.pig.HCatStorer();
我每次运行 Pig 脚本时都需要覆盖 hive 表中的数据。我该怎么做?
最佳答案
使用 fs
shell 命令:fs -rm -f -r/path/to/dir
:
load_resource_csv = LOAD '/user/cloudera/newfile' USING PigStorage(',')
AS
(name:chararray,
skill:chararray
);
fs -rm -r -f /user/hive/warehouse/stack/
STORE load_resource_csv INTO '/user/hive/warehouse/stack' USING PigStorage(',');
-------------- BEFORE ---------------------------
$ hadoop fs -ls /user/hive/warehouse/stack/
-rwxrwxrwx 1 cloudera supergroup 22 2016-08-05 18:31 /user/hive/warehouse/stack/000000_0
hive> select * from stack;
OK
bigDataLearner hadoop
$ hadoop fs -cat /user/cloudera/newfile
bigDataLearner,spark
-------------- AFTER -------------------
$ hadoop fs -ls /user/hive/warehouse/stack
Found 2 items
-rw-r--r-- 1 cloudera supergroup 0 2016-08-05 18:56 /user/hive/warehouse/stack/_SUCCESS
-rw-r--r-- 1 cloudera supergroup 21 2016-08-05 18:56 /user/hive/warehouse/stack/part-m-00000
$ hadoop fs -cat /user/hive/warehouse/stack/*
bigDataLearner,spark
hive> select * from stack;
OK
bigDataLearner spark
Time taken: 0.183 seconds, Fetched: 1 row(s)
关于hadoop - Pig 使用 LOAD 覆盖 hive 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38796039/