class DeltaTable extends DeltaTableOperations with Serializable
用于以编程方式与 Delta 表交互的主类。您可以使用静态方法创建 DeltaTable 实例。
DeltaTable.forPath(sparkSession, pathToTheDeltaTable)
- 自
0.3.0
- 按字母顺序
- 按继承顺序
- DeltaTable
- Serializable
- DeltaTableOperations
- AnalysisHelper
- AnyRef
- Any
- 隐藏所有
- 显示所有
- 公共
- 受保护的
值成员
- final def !=(arg0: Any): Boolean
- 定义类
- AnyRef → Any
- final def ##: Int
- 定义类
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- 定义类
- AnyRef → Any
- def addFeatureSupport(featureName: String): Unit
修改协议以添加支持的功能,如果表不支持表功能,则自动升级协议。
修改协议以添加支持的功能,如果表不支持表功能,则自动升级协议。在这种情况下,当所提供的功能是仅写入时,表的写入器版本将升级到
7
,当所提供的功能是读写时,读写器版本都将升级到(3, 7)
。有关更多详细信息,请参阅在线文档和 PROTOCOL.md 中的 Delta 协议规范。
- 自
2.3.0
- def alias(alias: String): DeltaTable
为 DeltaTable 应用别名。
为 DeltaTable 应用别名。这类似于 `Dataset.as(alias)` 或 SQL `tableName AS alias`。
- 自
0.3.0
- def as(alias: String): DeltaTable
为 DeltaTable 应用别名。
为 DeltaTable 应用别名。这类似于 `Dataset.as(alias)` 或 SQL `tableName AS alias`。
- 自
0.3.0
- final def asInstanceOf[T0]: T0
- 定义类
- Any
- def clone(target: String, isShallow: Boolean): DeltaTable
将 DeltaTable 克隆到给定目的地,以镜像现有表的数据和元数据。
将 DeltaTable 克隆到给定目的地,以镜像现有表的数据和元数据。
例如:
io.delta.tables.DeltaTable.clone( "/some/path/to/table", true)
- 目标
创建克隆的路径或表名。
- isShallow
是创建浅层克隆还是深层克隆。
- 自
3.3.0
- def clone(target: String, isShallow: Boolean, replace: Boolean): DeltaTable
将 DeltaTable 克隆到给定目的地,以镜像现有表的数据和元数据。
将 DeltaTable 克隆到给定目的地,以镜像现有表的数据和元数据。
例如:
io.delta.tables.DeltaTable.clone( "/some/path/to/table", true, true)
- 目标
创建克隆的路径或表名。
- isShallow
是创建浅层克隆还是深层克隆。
- 替换
是否用克隆命令替换目标。
- 自
3.3.0
- def clone(target: String, isShallow: Boolean, replace: Boolean, properties: HashMap[String, String]): DeltaTable
Python 实现使用 java.util.HashMap 作为 properties 参数的克隆。
Python 实现使用 java.util.HashMap 作为 properties 参数的克隆。
此处指定属性意味着目标将用用户定义的属性覆盖源表中具有相同键的任何属性。
例如:
io.delta.tables.DeltaTable.clone( "/some/path/to/table", true, true, Map("foo" -> "bar"))
- 目标
创建克隆的路径或表名。
- isShallow
是创建浅层克隆还是深层克隆。
- 替换
是否用克隆命令替换目标。
- 属性
克隆中要覆盖的表属性。
- def clone(target: String, isShallow: Boolean, replace: Boolean, properties: Map[String, String]): DeltaTable
将 DeltaTable 克隆到给定目的地,以镜像现有表的数据和元数据。
将 DeltaTable 克隆到给定目的地,以镜像现有表的数据和元数据。
此处指定属性意味着目标将用用户定义的属性覆盖源表中具有相同键的任何属性。
例如:
io.delta.tables.DeltaTable.clone( "/some/path/to/table", true, true, Map("foo" -> "bar"))
- 目标
创建克隆的路径或表名。
- isShallow
是创建浅层克隆还是深层克隆。
- 替换
是否用克隆命令替换目标。
- 属性
克隆中要覆盖的表属性。
- 自
3.3.0
- def clone(): AnyRef
- 属性
- protected[lang]
- 定义类
- AnyRef
- 注解
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- def cloneAtTimestamp(timestamp: String, target: String, isShallow: Boolean): DeltaTable
将指定时间戳的 DeltaTable 克隆到给定目的地,以镜像该时间戳的现有表的数据和元数据。
将指定时间戳的 DeltaTable 克隆到给定目的地,以镜像该时间戳的现有表的数据和元数据。
时间戳可以是 yyyy-MM-dd 或 yyyy-MM-dd HH:mm:ss 格式。
例如:
io.delta.tables.DeltaTable.cloneAtTimestamp( "2019-01-01", "/some/path/to/table", true)
- 时间戳
此表从中克隆的时间戳。
- 目标
创建克隆的路径或表名。
- isShallow
是创建浅层克隆还是深层克隆。
- 自
3.3.0
- def cloneAtTimestamp(timestamp: String, target: String, isShallow: Boolean, replace: Boolean): DeltaTable
将指定时间戳的 DeltaTable 克隆到给定目的地,以镜像该时间戳的现有表的数据和元数据。
将指定时间戳的 DeltaTable 克隆到给定目的地,以镜像该时间戳的现有表的数据和元数据。
时间戳可以是 yyyy-MM-dd 或 yyyy-MM-dd HH:mm:ss 格式。
例如:
io.delta.tables.DeltaTable.cloneAtTimestamp( "2019-01-01", "/some/path/to/table", true, true)
- 时间戳
此表从中克隆的时间戳。
- 目标
创建克隆的路径或表名。
- isShallow
是创建浅层克隆还是深层克隆。
- 替换
是否用克隆命令替换目标。
- 自
3.3.0
- def cloneAtTimestamp(timestamp: String, target: String, isShallow: Boolean, replace: Boolean, properties: HashMap[String, String]): DeltaTable
Python 实现使用 java.util.HashMap 作为 properties 参数的 cloneAtTimestamp。
Python 实现使用 java.util.HashMap 作为 properties 参数的 cloneAtTimestamp。
在特定时间戳将 DeltaTable 克隆到给定目的地,以镜像现有表在该版本的数据和元数据。此处指定属性意味着目标将用用户定义的属性覆盖源表中具有相同键的任何属性。
例如:
io.delta.tables.DeltaTable.cloneAtVersion( 5, "/some/path/to/table", true, true, new java.util.HashMap[String, String](Map("foo" -> "bar").asJava)
- 时间戳
此表从中克隆的时间戳。
- 目标
创建克隆的路径或表名。
- isShallow
是创建浅层克隆还是深层克隆。
- 替换
是否用克隆命令替换目标。
- 属性
克隆中要覆盖的表属性。
- def cloneAtTimestamp(timestamp: String, target: String, isShallow: Boolean, replace: Boolean, properties: Map[String, String]): DeltaTable
将指定时间戳的 DeltaTable 克隆到给定目的地,以镜像该时间戳的现有表的数据和元数据。
将指定时间戳的 DeltaTable 克隆到给定目的地,以镜像该时间戳的现有表的数据和元数据。
时间戳可以是 yyyy-MM-dd 或 yyyy-MM-dd HH:mm:ss 格式。
此处指定属性意味着目标将用用户定义的属性覆盖源表中具有相同键的任何属性。
例如:
io.delta.tables.DeltaTable.cloneAtTimestamp( "2019-01-01", "/some/path/to/table", true, true, Map("foo" -> "bar"))
- 时间戳
此表从中克隆的时间戳。
- 目标
创建克隆的路径或表名。
- isShallow
是创建浅层克隆还是深层克隆。
- 替换
是否用克隆命令替换目标。
- 属性
克隆中要覆盖的表属性。
- 自
3.3.0
- def cloneAtVersion(version: Long, target: String, isShallow: Boolean): DeltaTable
将指定版本的 DeltaTable 克隆到给定目的地,以镜像该版本现有表的数据和元数据。
将指定版本的 DeltaTable 克隆到给定目的地,以镜像该版本现有表的数据和元数据。
例如:
io.delta.tables.DeltaTable.cloneAtVersion( 5, "/some/path/to/table", true)
- 版本
此表从中克隆的版本。
- 目标
创建克隆的路径或表名。
- isShallow
是创建浅层克隆还是深层克隆。
- 自
3.3.0
- def cloneAtVersion(version: Long, target: String, isShallow: Boolean, replace: Boolean): DeltaTable
将指定版本的 DeltaTable 克隆到给定目的地,以镜像该版本现有表的数据和元数据。
将指定版本的 DeltaTable 克隆到给定目的地,以镜像该版本现有表的数据和元数据。
例如:
io.delta.tables.DeltaTable.cloneAtVersion( 5, "/some/path/to/table", true, true)
- 版本
此表从中克隆的版本。
- 目标
创建克隆的路径或表名。
- isShallow
是创建浅层克隆还是深层克隆。
- 替换
是否用克隆命令替换目标。
- 自
3.3.0
- def cloneAtVersion(version: Long, target: String, isShallow: Boolean, replace: Boolean, properties: HashMap[String, String]): DeltaTable
Python 实现使用 java.util.HashMap 作为 properties 参数的 cloneAtVersion。
Python 实现使用 java.util.HashMap 作为 properties 参数的 cloneAtVersion。
此处指定属性意味着目标将用用户定义的属性覆盖源表中具有相同键的任何属性。
例如:
io.delta.tables.DeltaTable.cloneAtVersion( 5, "/some/path/to/table", true, true, new java.util.HashMap[String, String](Map("foo" -> "bar").asJava))
- 版本
此表从中克隆的版本。
- 目标
创建克隆的路径或表名。
- isShallow
是创建浅层克隆还是深层克隆。
- 替换
是否用克隆命令替换目标。
- 属性
克隆中要覆盖的表属性。
- def cloneAtVersion(version: Long, target: String, isShallow: Boolean, replace: Boolean, properties: Map[String, String]): DeltaTable
将指定版本的 DeltaTable 克隆到给定目的地,以镜像该版本现有表的数据和元数据。
将指定版本的 DeltaTable 克隆到给定目的地,以镜像该版本现有表的数据和元数据。
此处指定属性意味着目标将用用户定义的属性覆盖源表中具有相同键的任何属性。
例如:
io.delta.tables.DeltaTable.cloneAtVersion( 5, "/some/path/to/table", true, true, Map("foo" -> "bar"))
- 版本
此表从中克隆的版本。
- 目标
创建克隆的路径或表名。
- isShallow
是创建浅层克隆还是深层克隆。
- 替换
是否用克隆命令替换目标。
- 属性
克隆中要覆盖的表属性。
- 自
3.3.0
- def delete(): Unit
从表中删除数据。
从表中删除数据。
- 自
0.3.0
- def delete(condition: Column): Unit
从表中删除与给定 `condition` 匹配的数据。
从表中删除与给定 `condition` 匹配的数据。
- 条件
布尔 SQL 表达式
- 自
0.3.0
- def delete(condition: String): Unit
从表中删除与给定 `condition` 匹配的数据。
从表中删除与给定 `condition` 匹配的数据。
- 条件
布尔 SQL 表达式
- 自
0.3.0
- def deltaLog: DeltaLog
- 属性
- 受保护
- def detail(): DataFrame
:: 演进中 :
:: 演进中 :
获取 Delta 表的详细信息,例如格式、名称和大小。
- 注解
- @Evolving()
- 自
2.1.0
- def df: Dataset[Row]
- 属性
- 受保护
- def dropFeatureSupport(featureName: String): Unit
修改协议以删除支持的功能。
修改协议以删除支持的功能。该操作总是会规范化生成的协议。协议规范化是将表功能协议转换为最弱可能形式的过程。这主要指将表功能协议转换为旧版协议。仅当前者的功能集与旧版协议完全匹配时,表功能协议才能用旧版表示。当表功能协议的读取器版本高于必要时,规范化也可以降低其读取器版本。例如
(1, 7, None, {AppendOnly, Invariants, CheckConstraints}) -> (1, 3) (3, 7, None, {RowTracking}) -> (1, 7, RowTracking)
dropFeatureSupport 方法可以按如下方式使用:
io.delta.tables.DeltaTable.dropFeatureSupport("rowTracking")
请注意,此命令不会截断历史记录。
有关更多详细信息,请参阅在线文档。
- featureName
要删除的功能名称。
- 返回
无。
- 自
3.4.0
- def dropFeatureSupport(featureName: String, truncateHistory: Boolean): Unit
修改协议以删除支持的功能。
修改协议以删除支持的功能。该操作总是会规范化生成的协议。协议规范化是将表功能协议转换为最弱可能形式的过程。这主要指将表功能协议转换为旧版协议。仅当前者的功能集与旧版协议完全匹配时,表功能协议才能用旧版表示。当表功能协议的读取器版本高于必要时,规范化也可以降低其读取器版本。例如
(1, 7, None, {AppendOnly, Invariants, CheckConstraints}) -> (1, 3) (3, 7, None, {RowTracking}) -> (1, 7, RowTracking)
dropFeatureSupport 方法可以按如下方式使用:
io.delta.tables.DeltaTable.dropFeatureSupport("rowTracking")
有关更多详细信息,请参阅在线文档。
- featureName
要删除的功能名称。
- 截断历史记录
在降级协议之前是否截断历史记录。
- 返回
无。
- 自
3.4.0
- final def eq(arg0: AnyRef): Boolean
- 定义类
- AnyRef
- def equals(arg0: AnyRef): Boolean
- 定义类
- AnyRef → Any
- def executeClone(table: DeltaTableV2, target: String, isShallow: Boolean, replace: Boolean, properties: Map[String, String], versionAsOf: Option[Long], timestampAsOf: Option[String]): DeltaTable
- 属性
- 受保护
- 定义类
- DeltaTableOperations
- def executeDelete(condition: Option[Expression]): Unit
- 属性
- 受保护
- 定义类
- DeltaTableOperations
- def executeDetails(path: String, tableIdentifier: Option[TableIdentifier]): DataFrame
- 属性
- 受保护
- 定义类
- DeltaTableOperations
- def executeGenerate(path: String, tableIdentifier: Option[TableIdentifier], mode: String): Unit
- 属性
- 受保护
- 定义类
- DeltaTableOperations
- def executeHistory(deltaLog: DeltaLog, limit: Option[Int], catalogTable: Option[CatalogTable]): DataFrame
- 属性
- 受保护
- 定义类
- DeltaTableOperations
- def executeRestore(table: DeltaTableV2, versionAsOf: Option[Long], timestampAsOf: Option[String]): DataFrame
- 属性
- 受保护
- 定义类
- DeltaTableOperations
- def executeUpdate(set: Map[String, Column], condition: Option[Column]): Unit
- 属性
- 受保护
- 定义类
- DeltaTableOperations
- def executeVacuum(table: DeltaTableV2, retentionHours: Option[Double]): DataFrame
- 属性
- 受保护
- 定义类
- DeltaTableOperations
- def generate(mode: String): Unit
为给定的 Delta 表生成清单
为给定的 Delta 表生成清单
- 模式
指定清单生成模式。有效模式如下(不区分大小写):
- "symlink_format_manifest":这将以符号链接格式生成清单,以支持 Presto 和 Athena 读取。有关更多信息,请参阅在线文档。
- 自
0.5.0
- final def getClass(): Class[_ <: AnyRef]
- 定义类
- AnyRef → Any
- 注解
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- 定义类
- AnyRef → Any
- 注解
- @IntrinsicCandidate() @native()
- def history(): DataFrame
获取此表上可用提交的信息作为 Spark DataFrame。
获取此表上可用提交的信息作为 Spark DataFrame。信息按时间倒序排列。
- 自
0.3.0
- def history(limit: Int): DataFrame
获取此表上最新 `limit` 提交的信息作为 Spark DataFrame。
获取此表上最近 `limit` 次提交的信息作为 Spark DataFrame。信息按时间倒序排列。
- 限制
获取历史记录的先前命令数量
- 自
0.3.0
- def improveUnsupportedOpError[T](f: => T): T
- 属性
- 受保护
- 定义类
- AnalysisHelper
- final def isInstanceOf[T0]: Boolean
- 定义类
- Any
- def merge(source: DataFrame, condition: Column): DeltaMergeBuilder
根据给定的合并 `condition` 合并来自 `source` DataFrame 的数据。
根据给定的合并 `condition` 从 `source` DataFrame 合并数据。这将返回一个 DeltaMergeBuilder 对象,可用于根据行是否匹配条件来指定对行执行的更新、删除或插入操作。
有关此操作的完整描述以及允许的更新、删除和插入操作的组合,请参阅 DeltaMergeBuilder。
Scala 示例:使用源 DataFrame 中的新键值更新键值 Delta 表
deltaTable .as("target") .merge( source.as("source"), "target.key = source.key") .whenMatched .updateExpr(Map( "value" -> "source.value")) .whenNotMatched .insertExpr(Map( "key" -> "source.key", "value" -> "source.value")) .execute()
Java 示例:使用源 DataFrame 中的新键值更新键值 Delta 表
deltaTable .as("target") .merge( source.as("source"), "target.key = source.key") .whenMatched .updateExpr( new HashMap<String, String>() {{ put("value" -> "source.value") }}) .whenNotMatched .insertExpr( new HashMap<String, String>() {{ put("key", "source.key"); put("value", "source.value"); }}) .execute()
- 源
要合并的源 DataFrame。
- 条件
作为 Column 对象的布尔表达式
- 自
0.3.0
- def merge(source: DataFrame, condition: String): DeltaMergeBuilder
根据给定的合并 `condition` 合并来自 `source` DataFrame 的数据。
根据给定的合并 `condition` 从 `source` DataFrame 合并数据。这将返回一个 DeltaMergeBuilder 对象,可用于根据行是否匹配条件来指定对行执行的更新、删除或插入操作。
有关此操作的完整描述以及允许的更新、删除和插入操作的组合,请参阅 DeltaMergeBuilder。
Scala 示例:使用源 DataFrame 中的新键值更新键值 Delta 表
deltaTable .as("target") .merge( source.as("source"), "target.key = source.key") .whenMatched .updateExpr(Map( "value" -> "source.value")) .whenNotMatched .insertExpr(Map( "key" -> "source.key", "value" -> "source.value")) .execute()
Java 示例:使用源 DataFrame 中的新键值更新键值 Delta 表
deltaTable .as("target") .merge( source.as("source"), "target.key = source.key") .whenMatched .updateExpr( new HashMap<String, String>() {{ put("value" -> "source.value"); }}) .whenNotMatched .insertExpr( new HashMap<String, String>() {{ put("key", "source.key"); put("value", "source.value"); }}) .execute();
- 源
要合并的源 DataFrame。
- 条件
作为 SQL 格式字符串的布尔表达式
- 自
0.3.0
- final def ne(arg0: AnyRef): Boolean
- 定义类
- AnyRef
- final def notify(): Unit
- 定义类
- AnyRef
- 注解
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- 定义类
- AnyRef
- 注解
- @IntrinsicCandidate() @native()
- def optimize(): DeltaOptimizeBuilder
优化表的数据布局。
优化表的数据布局。这将返回一个 DeltaOptimizeBuilder 对象,可用于指定分区过滤器以限制优化范围,并执行不同的优化技术,例如文件压缩或使用 Z-Order 曲线排序数据。
有关此操作的完整描述,请参阅 DeltaOptimizeBuilder。
Scala 示例:对表中分区子集运行文件压缩
deltaTable .optimize() .where("date='2021-11-18'") .executeCompaction();
- 自
2.0.0
- def resolveReferencesForExpressions(sparkSession: SparkSession, exprs: Seq[Expression], planProvidingAttrs: LogicalPlan): Seq[Expression]
- 属性
- 受保护
- 定义类
- AnalysisHelper
- def restoreToTimestamp(timestamp: String): DataFrame
将 DeltaTable 恢复到由时间戳指定的表的旧版本。
将 DeltaTable 恢复到由时间戳指定的表的旧版本。
时间戳可以是 yyyy-MM-dd 或 yyyy-MM-dd HH:mm:ss 格式
例如:
io.delta.tables.DeltaTable.restoreToTimestamp("2019-01-01")
- 自
1.2.0
- def restoreToVersion(version: Long): DataFrame
将 DeltaTable 恢复到由版本号指定的表的旧版本。
将 DeltaTable 恢复到由版本号指定的表的旧版本。
例如:
io.delta.tables.DeltaTable.restoreToVersion(7)
- 自
1.2.0
- def sparkSession: SparkSession
- 属性
- 受保护
- 定义类
- DeltaTableOperations
- final def synchronized[T0](arg0: => T0): T0
- 定义类
- AnyRef
- def toDF: Dataset[Row]
获取此 Delta 表的 DataFrame(即 Dataset[Row])表示。
获取此 Delta 表的 DataFrame(即 Dataset[Row])表示。
- 自
0.3.0
- def toDataset(sparkSession: SparkSession, logicalPlan: LogicalPlan): Dataset[Row]
- 属性
- 受保护
- 定义类
- AnalysisHelper
- def toStrColumnMap(map: Map[String, String]): Map[String, Column]
- 属性
- 受保护
- 定义类
- DeltaTableOperations
- def toString(): String
- 定义类
- AnyRef → Any
- def tryResolveReferences(sparkSession: SparkSession)(expr: Expression, planContainingExpr: LogicalPlan): Expression
- 属性
- 受保护
- 定义类
- AnalysisHelper
- def tryResolveReferencesForExpressions(sparkSession: SparkSession)(exprs: Seq[Expression], plansProvidingAttrs: Seq[LogicalPlan]): Seq[Expression]
- 属性
- 受保护
- 定义类
- AnalysisHelper
- def tryResolveReferencesForExpressions(sparkSession: SparkSession, exprs: Seq[Expression], planContainingExpr: LogicalPlan): Seq[Expression]
- 属性
- 受保护
- 定义类
- AnalysisHelper
- def update(condition: Column, set: Map[String, Column]): Unit
根据 `set` 定义的规则,从表中更新与给定 `condition` 匹配的行数据。
根据 `set` 定义的规则,从表中更新与给定 `condition` 匹配的行数据。
Java 示例,用于递增列 `data`。
import org.apache.spark.sql.Column; import org.apache.spark.sql.functions; deltaTable.update( functions.col("date").gt("2018-01-01"), new HashMap<String, Column>() {{ put("data", functions.col("data").plus(1)); }} );
- 条件
指定要更新的行的布尔表达式作为 Column 对象。
- set
更新行的规则,作为目标列名和相应的更新表达式(Column 对象)之间的 Java 映射。
- 自
0.3.0
- def update(condition: Column, set: Map[String, Column]): Unit
根据 `set` 定义的规则,从表中更新与给定 `condition` 匹配的行数据。
根据 `set` 定义的规则,从表中更新与给定 `condition` 匹配的行数据。
Scala 示例,用于递增列 `data`。
import org.apache.spark.sql.functions._ deltaTable.update( col("date") > "2018-01-01", Map("data" -> col("data") + 1))
- 条件
指定要更新的行的布尔表达式作为 Column 对象。
- set
以目标列名和相应更新表达式作为 Column 对象的 Scala 映射来更新行的规则。
- 自
0.3.0
- def update(set: Map[String, Column]): Unit
根据 `set` 定义的规则更新表中的行。
根据 `set` 定义的规则更新表中的行。
Java 示例,用于递增列 `data`。
import org.apache.spark.sql.Column; import org.apache.spark.sql.functions; deltaTable.update( new HashMap<String, Column>() {{ put("data", functions.col("data").plus(1)); }} );
- set
更新行的规则,作为目标列名和相应的更新表达式(Column 对象)之间的 Java 映射。
- 自
0.3.0
- def update(set: Map[String, Column]): Unit
根据 `set` 定义的规则更新表中的行。
根据 `set` 定义的规则更新表中的行。
Scala 示例,用于递增列 `data`。
import org.apache.spark.sql.functions._ deltaTable.update(Map("data" -> col("data") + 1))
- set
以目标列名和相应更新表达式作为 Column 对象的 Scala 映射来更新行的规则。
- 自
0.3.0
- def updateExpr(condition: String, set: Map[String, String]): Unit
根据给定 `condition` 匹配的行数据进行更新,执行 `set` 定义的规则。
根据给定 `condition` 匹配的行数据进行更新,执行 `set` 定义的规则。
Java 示例,用于递增列 `data`。
deltaTable.update( "date > '2018-01-01'", new HashMap<String, String>() {{ put("data", "data + 1"); }} );
- 条件
布尔表达式作为 SQL 格式的字符串对象,指定要更新的行。
- set
更新行的规则,作为目标列名和相应的更新表达式(SQL 格式字符串)之间的 Java 映射。
- 自
0.3.0
- def updateExpr(condition: String, set: Map[String, String]): Unit
根据给定 `condition` 匹配的行数据进行更新,执行 `set` 定义的规则。
根据给定 `condition` 匹配的行数据进行更新,执行 `set` 定义的规则。
Scala 示例,用于递增列 `data`。
deltaTable.update( "date > '2018-01-01'", Map("data" -> "data + 1"))
- 条件
布尔表达式作为 SQL 格式的字符串对象,指定要更新的行。
- set
以目标列名和相应更新表达式作为 SQL 格式字符串的 Scala 映射来更新行的规则。
- 自
0.3.0
- def updateExpr(set: Map[String, String]): Unit
根据 `set` 定义的规则更新表中的行。
根据 `set` 定义的规则更新表中的行。
Java 示例,用于递增列 `data`。
deltaTable.updateExpr( new HashMap<String, String>() {{ put("data", "data + 1"); }} );
- set
更新行的规则,作为目标列名和相应的更新表达式(SQL 格式字符串)之间的 Java 映射。
- 自
0.3.0
- def updateExpr(set: Map[String, String]): Unit
根据 `set` 定义的规则更新表中的行。
根据 `set` 定义的规则更新表中的行。
Scala 示例,用于递增列 `data`。
deltaTable.updateExpr(Map("data" -> "data + 1")))
- set
以目标列名和相应更新表达式作为 SQL 格式字符串的 Scala 映射来更新行的规则。
- 自
0.3.0
- def upgradeTableProtocol(readerVersion: Int, writerVersion: Int): Unit
更新表的协议版本以利用新功能。
更新表的协议版本以利用新功能。升级读取器版本将阻止所有旧版 Delta Lake 客户端访问此表。升级写入器版本将阻止旧版 Delta Lake 写入此表。读取器或写入器版本无法降级。
有关更多详细信息,请参阅在线文档和 PROTOCOL.md 中的 Delta 协议规范。
- 自
0.8.0
- def vacuum(): DataFrame
递归删除表中不需要的、用于维护旧版本(直到给定的保留阈值)的文件和目录。
递归删除表中在给定保留阈值之前维护旧版本不需要的文件和目录。此方法在成功完成后将返回一个空的 DataFrame。
注意:这将使用 7 天的默认保留期。
- 自
0.3.0
- def vacuum(retentionHours: Double): DataFrame
递归删除表中不需要的、用于维护旧版本(直到给定的保留阈值)的文件和目录。
递归删除表中在给定保留阈值之前维护旧版本不需要的文件和目录。此方法在成功完成后将返回一个空的 DataFrame。
- 保留小时数
保留阈值(小时)。表读取早于此版本的所需文件将被保留,其余文件将被删除。
- 自
0.3.0
- final def wait(arg0: Long, arg1: Int): Unit
- 定义类
- AnyRef
- 注解
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- 定义类
- AnyRef
- 注解
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- 定义类
- AnyRef
- 注解
- @throws(classOf[java.lang.InterruptedException])
已弃用的值成员
- def finalize(): Unit
- 属性
- protected[lang]
- 定义类
- AnyRef
- 注解
- @throws(classOf[java.lang.Throwable]) @Deprecated
- 已弃用
(版本 9 起)