Azure 业务用户上传数据湖ETL输入的解决方案 问题:

Azure 业务用户上传数据湖ETL输入的解决方案 问题:,azure,architecture,etl,data-warehouse,azure-data-lake,Azure,Architecture,Etl,Data Warehouse,Azure Data Lake,我认为这是一个非常普遍的问题,希望有我们可以重用的解决方案/方法 我们正在Azure ADLS gen2中构建数据湖,具有单向数据流:Nifi/ADF->ADLS->ETL/Spark/dataricks->data Warehouse->Power BI。负责的业务用户应每周/每月加载/更新一些ETL输入 您能否建议/改进业务用户上传ETL输入的解决方案,以满足以下要求 要求 用户友好的界面 解析/验证。我们必须确保上传时数据符合预期格式 审核日志记录。我们必须有能力跟踪谁和什么时候加载了什么

我认为这是一个非常普遍的问题,希望有我们可以重用的解决方案/方法

我们正在Azure ADLS gen2中构建数据湖,具有单向数据流:
Nifi/ADF->ADLS->ETL/Spark/dataricks->data Warehouse->Power BI
。负责的业务用户应每周/每月加载/更新一些ETL输入

您能否建议/改进业务用户上传ETL输入的解决方案,以满足以下要求

要求
  • 用户友好的界面
  • 解析/验证。我们必须确保上传时数据符合预期格式
  • 审核日志记录。我们必须有能力跟踪谁和什么时候加载了什么。如果出现一些延迟,应发送通知
  • 实现的简单性和对当前体系结构的遵从性 需求实现的评估范围从1(非常糟糕的实践方法)到5(100%干净、易于实现的解决方案)

    可能的解决方案

  • 流程:
    业务用户->Power应用->数据仓库和存储过程->adl->Spark->数据仓库->Power BI

    • 1要求=5。非常用户友好的界面,内置电源应用程序
    • 2要求=2。SQL存储过程中验证/转换的实现较差。所有其他应用程序代码都是用Spark编写的
    • 3要求=3-5。还不知道如何实现这一点
    • 第四项要求=2。数据流变成双向意味着
      DW->ADLS->DW
      。更难推理和协调
  • 在ADLS事件/触发器上使用Spark/Databricks
    流程:
    业务用户->Microsoft Storage Explorer应用程序->ADLS gen2->Azure Blob存储触发器->Azure函数->Spark解析/验证作业->ADLS gen2

    • 第一项要求=3-4。通过Storage Explorer上传非常方便用户,唯一的问题是通知用户成功/失败的机制可以通过电子邮件完成,可能不太清楚
    • 第二项要求=5。我喜欢在ETL端进行解析/验证,而不是在数据仓库存储过程上
    • 第三项要求=1-3。目前还不清楚要实现这一点。预计这将比使用Power应用程序更糟糕
    • 第四项要求=4。单向处理,数据不会从DW移动到数据湖。4不是5,因为业务用户不太清楚成功/失败通知是否会通过电子邮件发送。实现的复杂性也稍微大一点
  • 现场 我知道您正在寻找一种单向ETL过程/体系结构,它具有以下特性(按优先级排序):

    • 是用户友好的
    • 验证输入数据
    • 使用SQL存储过程解析输入数据
    • 使用
    • 通过记录谁以及何时将内容上载到数据湖,至少提供基本的审核功能
    用户友好的定义也有点模糊,因为用户最终会习惯于使用不直观的工具,例如,你可以强迫他们参加课程。我知道商业用户对使用Power BI一点也不感兴趣,但他们没有任何选择不使用它

    建议 我的一般经验是,定制的前端,根据业务需求定制,比让他们使用大型一体化瑞士军刀(其中只有少数功能用于用户的日常业务)带来更快乐的用户。我从未见过PowerApps被使用,但我从他们的网站上得到的是某种低代码的应用程序/用户界面构建平台

    我个人喜欢使用大型用户社区的低代码工具,例如Tableau、Qlik或Appian。我与它们中的任何一个都没有关联,但我设法将它们很快地连接到SQL数据库,这就是我提到这三个的原因

    你说

    Storage Explorer具有足够的用户友好界面,实现成本为零。唯一关心的是验证反馈和审核。为了减少验证,我们可以为业务用户创建一些Excel模板


    所以我想你可能会选择这个解决方案,但我绝不会牺牲审计。与备份类似,人们通常只在发生事故时才知道没有备份或审计的真正成本是多少。如果发生网络攻击,或者,企业通常非常需要日志文件。

    您看过Azure Storage Explorer吗?@wBob是的,我目前正在使用它来管理ADL。你为什么这么问?它满足了你的很多需求,但不可否认,它并不是一个非技术性的商业用户工具。权衡(开发自己的工具)是相当可观的,所以我想你可以通过一些教育来抵消这一点。例如,在安装和使用Azure Storage Explorer时与用户进行30分钟的会话,而不是说几周的自定义应用程序开发、测试和一些教育。@wBob是的,这实际上是我的选择二。唯一需要关注的是——业务用户需要尽快获得数据是否有效的反馈。ADLS触发火花的工作对你合适吗?对我来说不是很好,但是我现在看不到更好的选择。你有多自由选择你的工具?是否可以使用上述以外的工具(Power BI、Spark)。我知道它必须完全在Azure上,对吗?另外:您对四项要求的理想权重是多少?我是说,如果你点的话,你想先吃什么?谢谢你的帮助!我将在几周后结束这个问题,只要最终结论和第一次实施准备就绪