通过参加2022年AWS re:Invent「Apache Spark」活动,我们可以看到数据工程的趋势
首先
我是NTT数据 Data & Intelligence事业部的nttd-saitouyun。
在去年的2022年12月的AWS re:Invent大会上,宣布了以下的“适用于Apache Spark”的功能。
-
- Amazon Redshift integration for Apache Spark
Amazon Athena for Apache Spark
虽然Amazon DataZone和其他一些亮点也在re:Invent上发布了两项名为”for Apache Spark”的功能,但这对于我们来说是有意义的。在本文中,我们将探讨为什么现在要关注”for Apache Spark”。
关于Apache Spark
Apache Spark 是一个开源的大数据处理框架。
Apache Spark是一个开源框架,可以在内存中高速进行分布式处理,适用于大规模数据。它被广泛应用于高速处理大量数据以及机器学习等分析任务。NTT数据有许多Apache Spark的贡献者。
这个软件具有以下特点,并且在现在仍然非常受欢迎。
-
- クラウドによりHadoopクラスタなど分散処理環境を簡単に構築できるようになった。
-
- データから価値を創出するために、ビッグデータ処理のニーズが増えている。
- PythonやSQLなど様々なAPIで容易に利用できる。
AWS上的 Apache Spark
主要以分析和机器学习服务为核心,许多服务都可以使用Apache Spark。虽然不涉及详细细节,但下面是概述。
AWS Glue – 亚马逊云上的粘合剂
AWS Glue是一项无服务器的ETL服务,可以无服务器地执行Apache Spark处理以处理大规模数据。
亚马逊弹性MapReduce
亚马逊EMR是一个能够轻松构建分布式处理环境,如Apache Spark和Apache Hive的服务。您可以轻松地在云环境中构建Apache Spark集群。
亚马逊智能协作者
Amazon SageMaker是一个提供机器学习模型构建各种功能的服务。您可以利用基于Apache Spark的数据处理结果来创建机器学习模型。同时,还可以使用Spark ML(Apache Spark的机器学习库)来构建机器学习模型的服务。
亚马逊SageMaker通过提供各种机器学习模型构建功能的服务来帮助您。(Alternative option) 您可以使用Apache Spark进行数据处理,然后使用处理结果来创建机器学习模型。您还可以使用Spark ML(Apache Spark的机器学习库)构建并提供机器学习模型服务。
亚马逊阿腾娜【全新】
Amazon Athena是一个能够在构建在Amazon S3上的数据湖和各种数据源中对大规模数据进行无服务器交互式查询的服务。
在Re: Invent 2022大会上,宣布了Amazon Athena for Apache Spark功能,使得除了SQL之外,还可以使用Python进行处理。
过去,使用SQL查询Amazon S3的大规模数据是一项服务,但现在已经取得了显著的进步。
亚马逊红移[新]
Amazon Redshift 是一种数据仓库服务。
在2022年的re:Invent大会上,宣布了Amazon Redshift Integration for Apache Spark功能。这个功能使得在Amazon EMR、AWS Glue和Amazon SageMaker上进行Spark处理时,可以方便地读写Redshift上的数据。(以前需要使用第三方连接器来实现。)
在 AWS 上的 Databricks
除了我们之前提到的AWS托管服务之外,还有Databricks作为在AWS上使用Apache Spark的选择。Databricks是由Apache Spark的创始人Matei Zaharia和Ali Ghodsi共同创办的公司。该公司以”AI和数据的民主化”为使命。他们提供了一个集成数据分析平台,结合了Apache Spark、MLflow和Delta Lake等开源软件。
为什么选择「用于Apache Spark」呢?
我們將討論為什麼現在是”關於Apache Spark”的時候。
SQL “和 Python”
这并不是说SQL变得不再需要,而是意味着在某些情况下,它可能会变得不够满足需求。例如,
-
- 処理対象のデータが構造化データから準構造化データ・非構造化データまで広がっている。
-
- データ処理にAPI(例えば、Amazon SageMakerによる推論処理)を呼び出したり、データ加工処理内容が高度化している。
- 特徴量エンジニアリング(機械学習の前処理)などSQLでは実施が難しいデータ加工処理が増えている。
我觉得有类似的东西存在。
针对这个任务,使用了更丰富的API和外部库之类的工具,因此选择了Python。为了将Python的能力应用于大规模数据处理,似乎正在使用Apache Spark。
可扩展的Python种类
据说Python的可扩展性在大规模数据处理中可使用Apache Spark,但其他软件不行吗?
在re:Invent上有一个新的产品发布,它就是”Ray”。
另外,还有AWS Glue for Ray的发布。
在 re:Invent 数个月后,Databricks 宣布在其平台上支持 Ray,并且还可以在 Apache Spark 集群上使用。
一般而言,對於數據處理工作負載,人們認為Apache Spark是強大的,而對於機器學習工作負載,則認為Ray是強大的。
DWH服务的趋势
根据上述说明,似乎可以描述Amazon Athena和Amazon Redshift对于Apache Spark的支持情况。
请问其他的DWH服务怎么样呢?
在GCP中,BigQuery已经在2022年4月发布了集成了Apache Spark的BigLake。
此外,Snowflake在2021年发布了名为Snowpark的API,可以使用除了SQL以外的诸如Python等其他语言进行数据处理和机器学习。
可以看出,除了AWS之外,其他云服务提供商也存在类似的趋势。
我认为,随着数据类型的多样化和机器学习等用例的多样化,数据仓库服务正在通过吸纳数据湖服务擅长的功能来进化。
数据湖服务的趋势
那么,相反,AWS Glue和Amazon EMR等数据湖服务有哪些趋势呢?
在EMR中, 最新的运行时版本6.9.0同样支持相同的存储格式。
-
- Amazon EMR 6.8 が Apache Hudi 0.11.1 および Apache Iceberg 0.14.0 をサポート
Delta Lake – Amazon EMR: Amazon EMR リリース 6.9.0 以降、デルタレイクテーブルを含む Amazon EMR クラスターで Apache Spark 3.x を使用できます。
首先,在支持这些存储格式之前,Lake Formation的管理表已经实现了这些ACID事务和时间旅行功能。
从以上的描述可以看出,数据湖服务似乎在吸收数据仓库服务的功能,例如ACID事务和时间旅行,以实现其演进。
数据工程趋势
我们以「Apache Spark」为起点,考察了各种服务的更新内容。正如我们所看到的,数据仓库服务和数据湖服务似乎在互补各自的功能扩展。未来,这些服务将如何发展?
DWH + 数据湖 = 数据湖仓库
在中国,可以考虑的一个解决方案是“数据湖仓库”。数据湖仓库是Databricks公司提出的一种集成数据湖和数据仓库优点的新型数据基础架构平台概念。数据湖和数据仓库是两个词的组合
这种思维方式已经在AWS等其他公司中得到了推广,并且在《Gartner数据管理炒作周期》中也被作为关键词来进行处理。
类似于数据湖架构,具备处理多样化、各种规模数据以及应对各种用例,包括分析、商业智能和机器学习等能力的数据基础设施正在成为趋势,您认为呢?
有关数据湖的参考信息。
为了那些想要更详细了解数据湖架构的人提供参考信息。
比尔·因蒙(Bill Inmon)先生是被誉为数据仓库之父的,在他的著作中讲述了该概念。(这是权威性的信息源,但也很难理解。)
-
- Building the Data Lakehouse
-
- The Data Lakehouse Architecture
- Rise of the Data Lakehouse
在AWS中,也有关于数据仓库的相关信息公开发布。
-
- Databricks on AWS
- セキュアでスケーラブルなデータ分析基盤を実現する Lake house architecture on AWS
如果您有兴趣的话,我也写了一篇关于数据湖的解释文章。请随意阅读。
- サイロ化を解消し「データとAIの民主化」を加速 DWHとデータレイクの溝を埋める決定打とは?
向着更加精细化的数据湖转变
数据湖架构以前已经通过组合DWH服务和数据湖服务的方式实现。例如,通过同时使用R Amazon Redshift和AWS Glue。这种架构可以满足多样化的数据处理和分析用例,但仍然存在一些问题,比如需要在两个服务之间实现数据传输成本、治理和安全。
为了解决这个问题,Amazon Athena for Apache Spark等服务可以在一个服务中实现数据湖仓库,同时还进行了功能更新,如Amazon Redshift integration for Apache Spark,以减少数据湖与数据仓库之间的衔接。
最后
你对此有何看法?
以「Apache Spark」为起点,我们触及了在re:Invent上发布的各种分析服务的更新,思考了背后的趋势。并且,我们介绍了数据湖仓库作为其中一个趋势。
数据工程领域是一个技术进步非常迅速的领域,因此在将来我们需要时刻关注各项服务的更新!让我们了解潮流,并积极利用新功能,使数据变得更有价值吧!!
正在寻找伙伴加入!
NTT数据 Data&Intelligence业务部门 正在招聘以下职位。
解决方案介绍 ‘àn
– 提供一种全方位的解决方案,用于分析和利用数据资产的环境。
– 我们采用最新的云技术,根据客户需求量身定制我们自己设计的参考架构(Datalake+DWH+AI/BI)。
– 可视化、机器学习、深度学习等数据资产分析和利用环境一应俱全,通过使用以前从未有过的大量且高质量的数据,能够高效地推进数字转型。
– https://enterprise-aiiot.nttdata.com/tdf/