【问题标题】:Hadoop Data IngestionHadoop 数据摄取
【发布时间】:2017-03-31 22:23:12
【问题描述】:

我有以下要求:

有一个上游系统在数据库表中创建一个键条目。该条目表明数据库表(oracle)中有一组数据可用。我们必须摄取这些数据并将其保存为 parquet 文件。无需处理数据。每次有新的密钥条目可用时,该摄取过程都应该开始。

对于这个问题陈述,我们计划有一个数据库轮询器来轮询键条目。读取该条目后,我们需要从 Oracle 表中提取数据。对于这个摄取目的,哪个工具最好?是 Kafka、Sqoop、Spark-SQL 等吗?请帮忙。

我们还需要摄取 csv 文件。只有当一个文件被完全写入时,我们才需要开始摄取它。请告诉我如何执行此操作。

【问题讨论】:

    标签: apache-spark apache-kafka apache-spark-sql sqoop


    【解决方案1】:

    对于摄取关系数据,您可以使用 sqoop,对于您的场景,您可以查看https://sqoop.apache.org/docs/1.4.2/SqoopUserGuide.html#_incremental_imports

    编写 sqoop 增量作业并使用 cron 进行调度,每次执行 sqoop 作业时,您都会在 hdfs 中更新数据。

    对于 .csv 文件,您可以使用 flume。参考, https://www.rittmanmead.com/blog/2014/05/trickle-feeding-webserver-log-files-to-hdfs-using-apache-flume/

    【讨论】:

    • 感谢您的意见。你能解释一下为什么不是卡夫卡吗?同样由于缺乏专业知识,我们希望使用单一技术从 Oracle 和 csv 文件中提取数据。请帮忙。
    【解决方案2】:

    使用 Sqoop,您可以从 Hadoop 文件系统的数据库中导入数据。

    【讨论】:

    • 感谢您的意见。你能解释一下为什么不是卡夫卡吗?同样由于缺乏专业知识,我们希望使用单一技术从 Oracle 和 csv 文件中提取数据。请帮忙。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多