本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
注意事项和限制
-
在 Amazon EMR 6.9.0 及更高版本上支持使用 Delta Lake。您可以在包含 Delta 表的 Amazon EMR 集群上使用 Apache Spark
3.x。 -
建议您对 S3 位置路径使用 s3 URI 方案而不是 s3a,以获得最佳性能、安全性和可靠性。有关更多信息,请参阅使用存储和文件系统。
-
有了亚马逊 EMR 7.0,Delta Universal Format (UniForm) 并且不支持 convert-to-Iceberg语句。
-
在 Amazon EMR 6.9 和 6.10 中,当 Delta Lake 表数据存储在 Amazon S3 中时,列数据在列重命名操作后会变为
NULL
。从 Amazon EMR 6.11 开始,此问题已得到解决。有关此实验性列重命名操作的更多信息,请参阅《Delta Lake User Guide》中的 Column rename operation。 -
如果您在 Apache Spark 之外的 AWS Glue 数据目录中创建数据库,则该数据库可能有一个空
LOCATION
字段。由于 Spark 不允许使用空位置属性创建数据库,因此如果您在 Amazon EMR 中使用 Spark 在 Glue 数据库中创建 Delta 表,并且该数据库具有空的LOCATION
属性,则会出现以下错误:IllegalArgumentException: Can not create a Path from an empty string
要解决此问题,请在数据目录中创建数据库,并且
LOCATION
字段使用有效的非空路径。有关实现此解决方案的步骤,请参阅《Amazon Athena 用户指南》中的 创建表时出现非法参数异常。