首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ETL批处理

ETL批处理
EN

Stack Overflow用户
提问于 2019-11-12 06:00:31
回答 4查看 1.2K关注 0票数 3

我正在寻找一些开源技术,可以让我创建预定的批处理(例如,每1小时查询一些SQL数据库,如Oracle,并插入到Kafka。可能会对之间的数据进行一些转换)。问题是,我需要能够传输大量数据(“大数据”- Oracle查询可能返回10 or或更多)。

例如,我读过关于Apache Airflow的文章,但它似乎不适合大数据量。

我还可以使用哪些其他技术来实现此目的?

EN

回答 4

Stack Overflow用户

发布于 2020-02-15 00:34:14

一个简单且容易的解决方案是使用像Talend Open Studio for Big Data这样的开源ETL工具来创建一个ETL,该ETL从oracle读取数据,然后将其写入Kafka。考虑到这就是您所需要的,您可以使用三个组件使用talend来完成此任务;

  • tKafkaOutput

  • tOracleInput
  • tMap

Talend - Kafka Documentation

另一种解决方案是在spark作业中编写ETL,以便直接从spark代码写入Kafka。如果你有足够的内存,Spark提供了非常非常快的内存处理,所以你可以利用它。

此外,由于您将以每小时一次的批处理方式执行此操作,因此应该根据时间对oracle输入进行筛选,以便只提取增量行,而不是整个快照。

票数 0
EN

Stack Overflow用户

发布于 2020-02-15 18:14:56

您应该可以看到Apache Big Data projectsOracle GoldenGate for BigData的全部内容。Apache正在通过大数据工具的解决方案组合来解决这个问题。

您可以将Spring Framework: Spring Batch用于开源解决方案。

票数 0
EN

Stack Overflow用户

发布于 2020-02-16 00:04:20

对于您的用例,Quartz Scheduler是否足够好?

虽然它是一个通用的作业调度库,但我认为它也可以用于长时间运行的ETL任务。

引用自官方网站:

Java是一个richly featured开源作业调度库,几乎可以集成到任何

应用程序中--从最小的独立应用程序到最大的电子商务系统。Quartz可用于创建简单或复杂的调度,用于执行数十个、数百个甚至数万个作业;这些作业的任务被定义为标准Java组件,可以执行您编程执行的几乎任何任务。Quartz Scheduler包括许多企业级功能,例如支持JTA事务和集群。

Quartz是免费使用的,在Apache 2.0 license下获得许可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58809259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档