在 Hive 中,“加载数据本地路径”是否有效?覆盖现有数据还是追加?
我希望在 cron 上运行到 Hive 的导入,并且希望仅使用
“将数据本地路径‘/tmp/data/x’加载到表 X”到表中就足够了。
后续命令会覆盖表中已有的内容吗?还是会追加?
I am hoping to run an import into Hive on a cron, and was hoping just using
"load data local inpath '/tmp/data/x' into table X" into a table would be sufficient.
Will subsequent commands overwrite whats already in the table? or will it append?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
此网站 http://wiki.apache.org/hadoop/Hive/LanguageManual 是您的处理 Hive 时的朋友。 :)
解决将数据加载到 Hive 的页面是 http://wiki.apache.org/ hadoop/Hive/LanguageManual/DML
该页面指出
在您的情况下,您没有使用 OVERWRITE 关键字,因此文件将添加到表中。 (除非它们是相同的文件,在这种情况下它们会被覆盖)
This site http://wiki.apache.org/hadoop/Hive/LanguageManual is your friend when dealing with Hive. :)
The page that addresses loading data into Hive is http://wiki.apache.org/hadoop/Hive/LanguageManual/DML
That page states that
In your case, you are not using the
OVERWRITE
keyword, so the files will be added to the table. (Unless they are the same files, in which case they are overwritten)如果使用 OVERWRITE 关键字,则目标表(或分区)的内容将被删除并替换为 filepath 引用的文件;否则 filepath 引用的文件将被添加到表中。
If the OVERWRITE keyword is used then the contents of the target table (or partition) will be deleted and replaced by the files referred to by filepath; otherwise the files referred by filepath will be added to the table.