蜂巢表加载来自HDFS位置的数据,并带有处理的重复文件
如果每日文件加载HDFS位置的特定路径,则存在场景。在该路径的基础上,我们创建了Hive外部表,将数据加载到Hive中的表中。最糟糕的情况将文件推到特定路径(HDFS)两次或复制文件。
我们如何加载第二个文件而不是执行删除或其他运行的作业。处理这种情况的最佳实践是什么?
请澄清
There is scenario if daily files loading particular path of HDFS location. on top of that path we have created Hive external table to load the data into table in hive. there is worst scenario the files pushed to particular path(HDFS) two times or duplicate files.
How do we load second files instead of doing delete or other job running. what is the best practice to handle this scenario.
Kindly clarify
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
HDF中无法使用具有类似filanames的重复文件。如果您担心两个可能具有类似内容的文件,则可能需要加载它,以免丢失数据并维护处理重复项的托管表。
用例:仅获取最新文件
从HDFS目录中检测最新文件:
HDFS DFS -LS -R/your/your/hdfs/dir/| awk -f“”'{print $ 6“” $ 7“” $ 8}'|排序-nr |头-1 | cut -d“” -f3
然后将其移至另一个HDFS目录。该目录应该清空,因为我们只需要最新的文件。
Duplicated files with similar filanames are not possible in HDFS. If you worry about two files with possible similar content, you might want to load it as is to avoid missing data and maintain a managed table that handles the duplicates.
Use case: Get only latest file
Detect latest file from HDFS directory:
hdfs dfs -ls -R /your/hdfs/dir/ | awk -F" " '{print $6" "$7" "$8}' | sort -nr | head -1 | cut -d" " -f3
Then, move it to another HDFS directory. This directory should be emptied because we want latest file only.