云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

云服务器_多线云主机_三重好礼

小七 141 0

时间旅行与三角洲湖:回顾去年

今天就试试Delta Lake 0.7.0和Spark 3.0!Delta Lake作为一个Linux基础项目成为一个开源项目已经有一年多了。虽然在过去的一年里发生了很多变化,但大多数数据湖面临的挑战依然顽固不变——数据湖固有的不可靠性。为了解决这个问题,Delta Lake为data lakes和ApacheSpark带来了可靠性和数据质量;通过观看MichaelArmbrust在Big Things大会上的会议了解更多信息。Delta Lake:Data Lakes和Apache Spark的可靠性和数据质量使用Delta Lake,您可以简化和扩展数据工程管道,并使用Delta体系结构改进数据质量数据流。三角洲湖底漆为了提供更多详细信息,以下部分概述了Delta Lake的功能。包括各种博客和技术讲座的链接,这些博客和技术讲座涉及技术方面,包括dive into Delta Lake Internals系列技术讲座。具有medallion数据质量数据流的Delta体系结构建立在apachespark基金会的基础上开放格式:Delta Lake中的所有数据都以Apache Parquet格式存储,使Delta Lake能够利用Parquet本地的高效压缩和编码方案。使用Jupyter笔记本和本地Spark实例从简单、可靠的upsert进行尝试,并使用Python api删除Delta Lake表上的数据。Spark API:开发人员可以使用Delta Lake和他们现有的数据管道,只需做很少的更改,因为它与常用的大数据处理引擎Spark完全兼容。更新和删除:deltalake支持Scala/javaapi来合并、更新和删除数据集。这使您能够轻松地遵守GDPR和CCPA,并简化了变更数据捕获等用例。有关更多信息,请参阅宣布Delta Lake 0.3.0发行版、简单、可靠的Upserts和Delta Lake表上使用Python API进行删除,以及深入了解Delta Lake第3部分:如何删除、更新和合并工作。交易ACID事务:数据湖通常有多个同时读写数据的数据管道,由于缺少事务,数据工程师必须通过一个繁琐的过程来确保数据的完整性。Delta Lake为您的数据湖带来ACID事务。它提供了可序列化性,这是隔离级别的最强级别。深入三角洲湖了解更多:打开交易日志博客和技术讲座。统一的批处理和流源汇:Delta Lake中的表既是批处理表,也是流源和汇。流式数据采集、批处理历史回填和交互式查询都是开箱即用的。要了解这一点,请尝试2019年欧盟Spark+AI峰会的Delta Lake教程。数据湖增强功能可伸缩的元数据处理:在大数据中,甚至元数据本身也可以是"大数据"。Delta Lake将元数据视为数据,利用Spark的分布式处理能力来处理所有元数据。因此,Delta-Lake可以轻松处理具有数十亿个分区和文件的PB级表。深入三角洲湖了解更多:打开交易日志博客和技术讲座。时间旅行(数据版本控制):DeltaLake提供了数据的快照,使开发人员能够访问并恢复到数据的早期版本,以便进行审计或回滚,或者重现实验。了解更多有关为大型数据湖引入三角洲湖时间旅行以及使用Delta Lake和MLflow为数据科学准备数据的更多信息。审核历史记录:Delta Lake事务日志记录对数据所做的每个更改的详细信息,提供更改的完整审核跟踪。了解有关场景的更多信息,例如解决GDPR和CCPA以及使用Delta Lake作为更改数据捕获源。模式实施和演化模式强制:deltalake提供了指定模式并实施它的功能。这有助于确保数据类型正确并且存在必需的列,从而防止错误数据导致数据损坏。有关更多信息,请参阅Diving Into Delta Lake:Schema Enforcement&Evolution博客和技术讲座。模式演化:业务需求不断变化,因此数据的形状和形式也在不断变化。deltalake使您能够对可以自动应用的表模式进行更改,而不需要繁琐的DDL。有关更多信息,请参阅Diving Into Delta Lake:Schema Enforcement&Evolution博客和技术讲座。去年的检查站2019年4月,我们宣布Delta Lake将与Linux基金会一起开源;项目的源代码可以在https://github.com/delta-io/delta。在这段时间里,项目进展迅速,发布了6个版本,贡献者(到目前为止有65个)和stars(>2500)酷的功能。执行DML语句在Delta Lake 0.3.0中,您现在可以使用Spark API运行DELETE、UPDATE和MERGE语句,而不必运行复杂的插入、文件级删除、表删除和重新创建,而可以在单个原子事务中执行DML语句。进口io.增量表._val deltaTable=可删除的.forPath(sparkSession,pathToEventsTable)可删除。删除("date(id…| null | null | null | 3 | null | false||3 | 2019-07-29 14:07:29 | null |删除|[谓词->(…| null | null | null | null | false||2 | 2019-07-29 14:06:56 | null |更新|[谓词->(id…| null | null | null | 1 | null | false||1 | 2019-07-29 14:04:31 | null |删除|[谓词->(…| null | null | null | 0 | null | false||0 | 2019-07-29 14:01:40 |空|空|写|[模式->错误寿命…|空|空|空|真|+-------+-------------------+------+--------+---------+--------------------+----+--------+---------+-----------+--------------+-------------+对于deltalake0.4.0,我们通过支持pythonapi来执行DML语句,如简单、可靠的Upserts中所述,并使用pythonapi在Delta-Lake表上删除。支持其他处理引擎Delta Lake的一个重要基础是,虽然它是一个最初设想用于Apache Spark的存储层,但它可以与许多其他处理引擎一起工作。作为Delta Lake 0.5.0版本的一部分,我们提供了创建清单文件的功能,以便您可以从Presto和Amazon Athena查询Delta Lake表。blog post Query Delta Lake Tables from Presto and Athena,Improved Operations Concurrency,and Merge performance提供了如何创建清单文件以从Presto查询Delta Lake的示例;有关更多信息,参考普雷斯托和雅典娜与三角洲湖的整合。同一版本中包括雪花和红移光谱的实验支持。最近,我们想调用与dbt和考拉的集成。使用Delta Connector 0.1.0,您的Apache配置单元环境现在可以读取Delta Lake表。使用此连接器,您可以在Apache配置单元中使用"存储方式"语法创建一个表,将其指向现有的增量表,如下所示:创建外部表deltaTable(col1 INT,col2 STRING)保存人io.delta.hive.DeltaStorageHandler'位置'/delta/table/path'简化操作维护随着数据湖的规模和复杂性的增加,维护它变得越来越困难。但是对于Delta Lake,每个版本都包含了更多的功能来简化操作开销。例如,Delta Lake 0.5.0包括对并发控制和文件压缩的支持的改进。Delta Lake 0.6.0做了进一步的改进包括对从任何文件系统读取增量表的支持,以及改进的合并性能和自动重新分区。正如在Delta Lake中的Merge operation和operation Metrics中所指出的,Delta Lake 0.6.0在表历史中引入了模式演化和合并和操作度量的性能改进。通过在您的环境中启用自动模式演化,#启用自动模式演化火花.sql("设置spark.databricks.delta.schema.autoMerge.enabled=正确")可以运行单个原子操作来更新值,也可以使用下面的示例语句将新模式合并在一起。从增量表进口*可删除=可删除的.forPath(火花,三角形路径)#使用合并操作的模式演化deltaTable.alias("t")。合并(新的_数据.别名("s"),"s.col1=t.col1和s.col2=t.col2")。当MatchedUpdateAll时().不匹配时插入()。执行()版本中还包含了对操作度量的改进,以便您可以从API和Spark UI查看它们。例如,运行以下语句:德尔