Apache nifi Databrick接收用例
我刚刚发现了一个新的Databricks特性,名为。在这一点上几乎没有关于它的材料 我什么时候应该使用DataRicks数据摄取而不是现有的成熟工具,如Azure Data Factory(ADF)或Apache NifiApache nifi Databrick接收用例,apache-nifi,azure-data-factory,databricks,data-ingestion,Apache Nifi,Azure Data Factory,Databricks,Data Ingestion,我刚刚发现了一个新的Databricks特性,名为。在这一点上几乎没有关于它的材料 我什么时候应该使用DataRicks数据摄取而不是现有的成熟工具,如Azure Data Factory(ADF)或Apache Nifi ADF和Nifi都可以摄取到ADL/S3中,AFAIK ADL/S3可以映射到DataRicks DBF,而无需复制任何数据和拼花文件。那么,使用新工具的好处或用例是什么呢?我遗漏了什么?这篇博文中有三个项目 自动装载机 抄袭 从第三方来源接收数据 自动加载并复制到简化数据摄
ADF和Nifi都可以摄取到ADL/S3中,AFAIK ADL/S3可以映射到DataRicks DBF,而无需复制任何数据和拼花文件。那么,使用新工具的好处或用例是什么呢?我遗漏了什么?这篇博文中有三个项目
您仍然可以使用Nifi、气流、流集等从源系统获取数据。这些工具现在只会触发批/微批摄取所需的“复制到”命令。自动加载器将持续运行或在触发时运行 谢谢你的回答!我对摄入状态管理感到困惑。当接收的数据状态管理很麻烦时,您能举个例子吗?在批处理中,您可以接收到
yyyy/mm/dd/hh
分区,而在流中,Kafka/Kinesis为您执行状态管理。现在,我看到当“新”状态管理获胜时唯一的主要好处——当您想在单个增量表上同时进行批处理和流处理时。您能否通过yyyy/mm/dd/hh
分区带来其他好处?当然,您可以将文件放入分区,但如果您在将文件放入分区时迟到了怎么办?此外,分区意味着您必须等到与分区关联的时间段结束后才能开始处理。在每小时分区方案中,您的摄取可能会延迟1小时。另外,如果您在一小时的最后一秒开始写入对象,但是写入对象需要10秒,或者100秒,或者1000秒来写入文件,该怎么办?那么你可能会错过吞下那个物体。国家管理局打算解决这些复杂问题。感谢您的解释!我想我明白了。唯一值得关注的是可追溯性。假设您正在使用Databricks Ingest,并且您有分区2020/05/19/13
。您在下午2点处理该分区。在下午3点,新行(称为X
row)被摄取到该分区,一切都为您管理。但现在可能会出现混淆,有些派生数据没有考虑行X
。反过来,rowX
位于摄取的数据中,很难确定处理是基于哪些数据进行的。很自然,等待延迟到达或每次重新处理都会将其视为一个流。每次运行COPY-INTO
时,都是从任何新文件将数据摄取到Delta-Lake表中。数据将在下一次查询时显示在表中input\u file\u name()
函数将告诉您与行X
相关的文件的完整路径。它确实与传统的批处理ETL模式有所不同,但应该简化整个工作。