【问题标题】:how to load text files into hdfs through oozie workflow in a cluster如何通过集群中的oozie工作流将文本文件加载到hdfs
【发布时间】:2015-11-08 13:07:17
【问题描述】:

我正在尝试使用 oozie 在 hive 脚本中加载文本/csv 文件并每天安排它。文本文件位于本地 unix 文件系统中。

在 oozie 工作流中执行 hive 脚本之前,我需要将这些文本文件放入 hdfs。

在实时集群中,我们不知道作业将在哪个节点上运行。它将在集群中的任何一个节点上随机运行。

谁能给我解决方案。

提前致谢。

【问题讨论】:

    标签: hadoop hdfs oozie


    【解决方案1】:

    不确定我是否理解你想要做什么。

    在我看来,它是行不通的:

    • Oozie 服务器只能访问 HDFS 文件(与 Hive 相同)
    • 您的数据位于某个本地文件系统中

    那么为什么不预先将文件加载到 HDFS 中呢?当文件可用(上游作业中的后处理操作)或在固定时间(使用 Linux CRON)时,可能会触发传输。

    如果 WebHDFS 服务在您的 NameNode 上处于活动状态,您甚至不需要 Linux 机器上的 Hadoop 库 - 只需使用 CURL 和 HTTP 上传即可。

    【讨论】:

    • 感谢您的回复。
    • 但是在生产环境中我们要通过oozie运行
    • 如果您的作业在集群内的某个地方运行,并且您必须访问集群外服务器上的文件,那么唯一的方法是从 SFTP 下载远程文件,然后将其上传到 HDFS。但这是一个尴尬而且相当受虐的设计。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-20
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多