问题描述
我按如下方式转储 Hive 表
hive -e 'select * from soMetable' | sed 's/[\t]/,/g' > /tmp/us.csv
drop table blargh; create table blargh like modeltable;
modeltable 在名为 mkt_cd 的字段上进行分区,所以现在 blargh 也是如此。
我针对 /tmp/us.csv 运行脚本并修改时间戳字段,将其调整为 Now(),格式为 YYYY-mm-DD HH:MM:SS,然后我写出一个文件 new.csv。旧的 CSV /tmp/us.csv 有一个这种格式的时间戳,它很旧,我们需要刷新它。
最后我尝试加载新的 CSV 文件:
hive> load data inpath '/path/to/new/new.csv' into table blargh partition(mkt_cd);
Failed: NullPointerException null
即使我将 new.csv 的“头部”(几行)作为我的输入,也会发生此错误。在编辑器中,看起来不错,没有空行。此外,如果我在更改之前简单地使用原始 CSV /tmp/us.csv 文件,也会出现此错误。这可能是什么原因?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)