Apache nifi Databrick接收用例

Apache 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,而无需复制任何数据和拼花文件。那么,使用新工具的好处或用例是什么呢?我遗漏了什么?这篇博文中有三个项目 自动装载机 抄袭 从第三方来源接收数据 自动加载并复制到简化数据摄

我刚刚发现了一个新的Databricks特性,名为。在这一点上几乎没有关于它的材料

我什么时候应该使用DataRicks数据摄取而不是现有的成熟工具,如Azure Data Factory(ADF)或Apache Nifi


ADF和Nifi都可以摄取到ADL/S3中,AFAIK ADL/S3可以映射到DataRicks DBF,而无需复制任何数据和拼花文件。那么,使用新工具的好处或用例是什么呢?我遗漏了什么?

这篇博文中有三个项目

  • 自动装载机
  • 抄袭
  • 从第三方来源接收数据
  • 自动加载并复制到简化数据摄取管道的状态管理。我所说的状态管理是指对接收和处理的文件或事件的管理。使用Nifi、Airflow、ADF,您需要一个单独的状态存储来跟踪哪些文件已被摄取或未被摄取。ETL系统通常将摄取的文件“移动”到另一个文件夹。这仍然是国家管理。其他人可能会在数据库或无sql数据存储中跟踪该文件

    在自动加载或复制到之前,您必须: 1.检测登录区域中的文件 2.将文件与已接收的文件进行比较。 2.显示文件以进行处理 3.跟踪您摄取的文件

    如果这些步骤混乱、落后,那么文件可能会被摄取和处理两次或丢失。移动文件会降低复杂性

    使用Auto Loader或COPY INTO,您可以在一条语句中设置流式或增量数据摄取。在登录区域设置存档策略7天或48小时后,您的登录区域将自动清除。您的代码和体系结构大大简化了

    自动加载器(用于流)和复制到(用于重新固化批处理作业)利用封底下的数据块为您跟踪和管理状态。对于Auto Loader,Databricks将设置基础设施、SNS和SQS,从而大大减少流式数据接收的延迟

    博客文章中的第三项是宣布与成熟的数据接收公司建立合作关系,这些公司拥有大量现成的企业数据连接器。这些公司与Delta Lake合作


    您仍然可以使用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
    。反过来,row
    X
    位于摄取的数据中,很难确定处理是基于哪些数据进行的。很自然,等待延迟到达或每次重新处理都会将其视为一个流。每次运行
    COPY-INTO
    时,都是从任何新文件将数据摄取到Delta-Lake表中。数据将在下一次查询时显示在表中
    input\u file\u name()
    函数将告诉您与行
    X
    相关的文件的完整路径。它确实与传统的批处理ETL模式有所不同,但应该简化整个工作。