使用 Azure Data Lake Analytics 与传统 ETL 方法的原因

2024-01-03

我正在考虑使用我最近几周一直在研究的数据湖技术,与我多年来一直使用的传统 ETL SSIS 场景进行比较。

我认为数据湖与大数据密切相关,但是使用数据湖技术与 SSIS 之间的界限在哪里?

使用 Data Lake 技术处理 25MB ~100MB ~ 300MB 文件有什么优势吗?并行性?灵活性?未来可扩展吗? 当要加载的文件没有 U-SQL 最佳场景那么大时,是否会有任何性能提升?

你怎么看?这就像用锤子敲开坚果一样吗? 请随时向我提问以澄清情况。 提前致谢!!

21/03 编辑更多说明:

  1. 必须在云端
  2. 我考虑使用 ADL 的原因是因为云中没有 SSIS 的替代品。有ADF,但是不一样,它编排数据,但是没有SSIS那么灵活
  3. I thought I could use U-SQL for some (basic) transformations but I see some problems
    • 有很多基本的事情我不能做:循环、更新、在 SQL 中写入日志......
    • 输出只能是 U-SQL 表或文件。这种方式的架构看起来不太好(尽管 U-SQL 对于大文件非常有用,但如果我需要额外的步骤将文件导出到另一个数据库或 DWH) - 或者也许这就是在大数据仓库中完成的方式... 我不知道
    • 在我的测试中,1MB 文件需要 40 秒,500MB 文件需要 1 分 15 秒。我无法证明 1MB 需要 40 秒的处理时间(加上使用 ADF 上传到数据库/数据仓库)
    • 对于用户来说,代码看起来杂乱无章,因为具有许多基本验证的脚本将是 U-SQL 脚本太长。

不要误会我的意思,我真的很喜欢 ADL 技术,但我认为目前它只是针对一些非常具体的东西,而且在云中仍然无法替代 SSIS。你管什么?我错了吗?


对我来说,如果数据是高度结构化和相关的,那么关系数据库就是合适的地方。在 Azure 中,您有多种选择:

  1. VM 上的 SQL Server (IaaS) 普通的 SQL Server 运行在虚拟机上,您必须自己安装、配置和管理它,但您可以获得该产品的全部灵活性。
  2. Azure SQL 数据库 PaaS 数据库选项针对较小的容量,但现在高达4TB https://azure.microsoft.com/en-us/blog/sql-database-4tb-premium-and-premium-rs-preview/。普通 SQL Server 的所有功能,可能具有较低的 TCO,并且可以选择使用tiers https://learn.microsoft.com/en-us/azure/sql-database/sql-database-service-tiers.
  3. Azure SQL 数据仓库 (ADW) MPP产品适用于大型仓库。对我来说,进入标准是仓库大小至少为 1TB,可能更接近 10TB。对于小批量来说,确实不值得使用 MPP。

对于所有数据库选项,您都可以使用聚集列存储索引(ADW 中的默认设置),它可以提供 5 倍到 10 倍之间的大规模压缩。

一年每天 400MB 总计约为 143GB,老实说,这对于现代数据仓库术语来说并不算多,通常以太字节 (TB) 为单位来衡量。

Azure Data Lake Analytics (ADLA) 的用武之地是做普通 SQL 无法做的事情,例如:

  • 将 C# 的强大功能与 SQL 相结合以实现强大的查询 - 示例here https://learn.microsoft.com/en-us/azure/data-lake-analytics/data-lake-analytics-u-sql-get-started
  • 处理非结构化文件,如图像、xml 或 JSON - 示例here https://blogs.msdn.microsoft.com/azuredatalake/2016/08/18/introducing-image-processing-in-u-sql/
  • 使用正则表达式
  • 横向扩展 R 处理 - 示例here https://learn.microsoft.com/en-us/azure/data-lake-analytics/data-lake-analytics-u-sql-cognitive

ADLA 还提供联合查询,即“查询数据所在位置”的能力,即将数据库中的结构化数据和数据湖中的非结构化数据结合在一起。

您的决定似乎更多地与是否应该使用云有关。如果您需要云的弹性和可扩展功能,那么 Azure 数据工厂是用于将数据在云中从一个位置移动到另一个位置的工具。

HTH

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Azure Data Lake Analytics 与传统 ETL 方法的原因 的相关文章

随机推荐