问题标签 [delta-lake]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
5628 浏览

pyspark - 在 python 中安装 delta 模块的正确方法是什么?

在 python 中安装 delta 模块的正确方法是什么?

示例中,他们导入模块

from delta.tables import *

但我没有找到在我的虚拟环境中安装模块的正确方法

目前我正在使用这个火花参数 -

"spark.jars.packages": "io.delta:delta-core_2.11:0.5.0"

0 投票
1 回答
782 浏览

amazon-s3 - S3 中的 Parquet 索引和分区

是否可以在 S3 中对 Parquet 文件进行索引和分区,或者此功能仅适用于文件存储类型的卷?

我正在寻找一种方法,让研究人员可以通过 EMR 笔记本访问 S3 中的相同数据,用于 (a) 通用 R 和 Python 脚本,以及 (b) 启用 Spark 的查询。但是我们现在拥有的专有解决方案和查询语言在 NFS 存储上提供索引和分区 - 所以我想保留这个功能。我看到 Delta Lake 提供了这一点,但我想知道是否可以使用 Arrow 等更简单的工具来实现这一点。

0 投票
1 回答
2440 浏览

apache-spark - Delta Lake:upsert 内部是如何工作的?

在我们的数据管道中,我们从数据源中提取 CDC 事件,并将这些更改以 AVRO 格式写入“增量数据”文件夹。

然后定期运行 Spark 作业,将这个“增量数据”与我们当前版本的“快照表”(ORC 格式)合并,以获得最新版本的上游快照。

在此合并逻辑期间:

1)我们将“增量数据”加载为 DataFrame df1

2) 将当前的“快照表”加载为 DataFrame df2

3) 合并 df1 和 df2 去重 id 并获取最新版本的行(使用 update_timestamp 列)

此逻辑将“增量数据”和当前“快照表”的全部数据加载到 Spark 内存中,这取决于数据库可能非常巨大。

我注意到在 Delta Lake 中,使用以下代码完成了类似的操作:

在这里,“updatesDF”可以被认为是来自 CDC 源的“增量数据”。

我的问题

1)合并/更新插入如何在内部工作?它是否将整个“updatedDF”和“/data/events/”加载到 Spark 内存中?

2)如果不是,它是否应用类似于 Apache Hudi 的增量更改?

3) 在重复数据删除期间,这个 upsert 逻辑如何知道获取最新版本的记录?因为我没有看到任何指定“更新时间戳”列的设置?

0 投票
2 回答
15455 浏览

databricks - 如何重命名 Databricks 中的列

如何重命名 Databricks 中的列?

以下不起作用:

它返回错误:

不支持 ALTER TABLE CHANGE COLUMN 将类型为“IntegerType >(nullable = true)”的列“old_name”更改为类型为“IntegerType (nullable = true)”的“new_name”;

如果有所不同,则此表使用的是 Delta Lake,并且未按此“old_name”列进行分区或 z 排序。

0 投票
0 回答
66 浏览

scala - 线程“主”java.lang.NoSuchMethodError 中的异常:com.fasterxml.jackson.module.scala.experimental.ScalaObjectMapper

线程“主”java.lang.NoSuchMethodError 中的异常:com.fasterxml.jackson.module.scala.experimental.ScalaObjectMapper.$init$(Lcom/fasterxml/jackson/module/scala/experimental/ScalaObjectMapper;)V在尝试编写时一个df作为spark中的增量表。

火花 2.4.4,斯卡拉 2.12

错误:

类路径有以下这些罐子:

com.fasterxml.jackson.core:jackson-databind:2.10.1,com.fasterxml.jackson.core:jackson-core:2.10.1,org.codehaus.jackson:jackson-core-asl:1.9.13,org. codehaus.jackson:jackson-mapper-asl:1.9.13,com.fasterxml.jackson.core:jackson-annotations:2.10.1,com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.10.1,com. fastxml.jackson.module:jackson-module-scala_2.12:2.10.1,com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.10.1,org.json4s:json4s-jackson_2.12:3.5。 3,com.twitter:parquet-jackson:1.6.0,org.codehaus.jackson:jackson-jaxrs:1.9.13,org.codehaus.jackson:jackson-xc:1.9.13,com.fasterxml.jackson.module: jackson-module-paranamer:2.10.1,com.google.protobuf:protobuf-java:3.11.1,org.apache.htrace:htrace-core:3.1.0-incubating,commons-cli:commons-cli:1.4

0 投票
2 回答
1111 浏览

apache-spark - 以编程方式链接 Delta Streams 引发 AnalysisException

情况:我正在生成一个增量文件夹,其中包含来自先前流式查询 A 的数据,稍后从另一个 DF 读取数据,如此处所示

1 -当我尝试在同一程序的后续 readStream(ETL 管道的链接查询)中以这种方式读取它时,我最终会遇到下面的异常。

2 -但是,当我在 scala REPL 中运行它时,它运行顺利。
不确定那里发生了什么,但它确实令人费解。

0 投票
4 回答
4606 浏览

apache-spark - 如何将 Delta Lake 与 spark-shell 一起使用?

我正在尝试将 Spark DF 编写为 DeltaTable。它在我的 IDE Intelliji 中运行良好,但是具有相同的依赖项和版本,它在我的 spark REPL(Spark shell) 中不起作用

Spark 版本:2.4.0 Scala 版本:2.11.8

Intelliji 中的依赖项(整个项目的依赖项,请忽略相关)

我正在尝试执行的一段代码

spark-shell 使用的命令:

REPL 中的错误:

0 投票
1 回答
416 浏览

scala - 无法将 DF 写为增量表我 spark 2.4.4 和 scala 2.12 java.lang.NoSuchMethodError: com.fasterxml.jackson.module.scala

无法将 DF 写为增量表我 spark 2.4.4 和 scala 2.12

读取镶木地板文件作为 DF 试图将其写入增量表。

代码

错误:

请帮我解决这个问题

0 投票
3 回答
10533 浏览

apache-spark - 如何使用带有 Spark 2.4.4 的 delta 创建表?

这是 Spark 2.4.4 和 Delta Lake 0.5.0。

我正在尝试使用 delta 数据源创建一个表,但我似乎遗漏了一些东西。尽管该CREATE TABLE USING delta命令运行良好,但既没有创建表目录也没有insertInto工作。

以下CREATE TABLE USING delta工作正常,但insertInto失败了。

我以为我会创建定义的列,但这也不起作用。

0 投票
2 回答
795 浏览

databricks - 如何在 Databricks 笔记本中查看 Delta Lake 版本?

如何在 databricks 笔记本中查看 delta Lake 版本?

(来自松弛