设置ORC文件名

奥兰多

我目前正在实现对HDFS和Hive表的监视数据的ETL(Talend)。我现在面临着重复的担忧。更详细地讲,如果我们需要使用相同的输入两次运行一个ETL作业两次,则最终在Hive表中将出现重复项。

在RDMS中解决此问题的方法是在发送数据之前存储输入文件名并存储为“ DELETE WHERE file name = ...”。但是Hive不是RDBMS,并且不支持删除。

我想就如何处理提出您的建议。我设想了两种解决方案:

  • 实际上,ETL正在将CSV文件放入HDFS,该文件用于通过“ INSERT INTO TABLE ... SELECT ...”来馈送ORC表。问题是,通过此操作,我丢失了文件名,并将ORC文件命名为00000。是否可以指定此创建的ORC文件的文件名?如果是的话,我将能够在启动ETL之前按文件名搜索数据并将其删除。
  • 我不习惯Hive的ACID功能(Hive 0.14+的功能)。您是否建议通过Hive启用ACID?我可以使用它“删除位置”吗?

如果您有其他解决方案,请随时提出。

最佳,奥兰多

奥兰多

我在回答自己。我找到了一个解决方案:我用(date,input_file_name)对表进行了分区(注意,我可以在Hive中使用SELECT INPUT__FILE__NAME来获得input_file_name。完成此操作后,在运行ETL之前,我可以向ALive发送ALTER TABLE DROP IF EXISTS EXISTS PARTITION(file_name = ...),以便如果此INPUT_FILE已经发送到ORC表,则删除包含输入数据的文件夹。

感谢大家的帮助。

奥兰多干杯

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

设置zip文件下载的文件名

来自分类Dev

如何设置文件的Blob文件名?

来自分类Dev

设置从Snowflake卸载的文件的文件名

来自分类Dev

Symfony BinaryFileResponse设置文件名

来自分类Dev

wget批量下载设置文件名

来自分类Dev

如何设置下载链接的文件名?

来自分类Dev

如何设置下载链接的文件名?

来自分类Dev

使用自动编号设置文件名

来自分类Dev

设置文件名和扩展名的问题

来自分类Dev

下载文件时如何设置文件名?

来自分类Dev

如何按设置为日期的文件名删除文件?

来自分类Dev

Windows是否根据文件名缓存文件属性设置

来自分类Dev

vim:根据正在编辑的文件名设置标签文件名

来自分类Dev

如何将文件名参数设置为实际文件名

来自分类Dev

重击找到文件名并设置为变量

来自分类Dev

如何在Monodevelop中设置文件名?

来自分类Dev

将文件名设置为变量的命令脚本

来自分类Dev

android-如何使用FileInputStream设置文件名?

来自分类Dev

Node.js:如何为eval设置文件名?

来自分类Dev

在netlogo中设置自动排序文件名

来自分类Dev

将批处理标题设置为文件名

来自分类Dev

Codeigniter:在for循环中设置上传文件名

来自分类Dev

在BATCH中将文件名设置为变量

来自分类Dev

如何设置文件名的最大字符长度?

来自分类Dev

dataTable-设置导出文件名

来自分类Dev

设置Python模块的属性而不是文件名

来自分类Dev

从文件名中的日期设置创建日期

来自分类Dev

将文件名设置为CMD中的值?

来自分类Dev

在Spring Integration的Message标头中设置文件名