问题标签 [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.
pyspark - 在 python 中安装 delta 模块的正确方法是什么?
在 python 中安装 delta 模块的正确方法是什么?
在示例中,他们导入模块
from delta.tables import *
但我没有找到在我的虚拟环境中安装模块的正确方法
目前我正在使用这个火花参数 -
"spark.jars.packages": "io.delta:delta-core_2.11:0.5.0"
amazon-s3 - S3 中的 Parquet 索引和分区
是否可以在 S3 中对 Parquet 文件进行索引和分区,或者此功能仅适用于文件存储类型的卷?
我正在寻找一种方法,让研究人员可以通过 EMR 笔记本访问 S3 中的相同数据,用于 (a) 通用 R 和 Python 脚本,以及 (b) 启用 Spark 的查询。但是我们现在拥有的专有解决方案和查询语言在 NFS 存储上提供索引和分区 - 所以我想保留这个功能。我看到 Delta Lake 提供了这一点,但我想知道是否可以使用 Arrow 等更简单的工具来实现这一点。
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 逻辑如何知道获取最新版本的记录?因为我没有看到任何指定“更新时间戳”列的设置?
databricks - 如何重命名 Databricks 中的列
如何重命名 Databricks 中的列?
以下不起作用:
它返回错误:
不支持 ALTER TABLE CHANGE COLUMN 将类型为“IntegerType >(nullable = true)”的列“old_name”更改为类型为“IntegerType (nullable = true)”的“new_name”;
如果有所不同,则此表使用的是 Delta Lake,并且未按此“old_name”列进行分区或 z 排序。
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
apache-spark - 以编程方式链接 Delta Streams 引发 AnalysisException
情况:我正在生成一个增量文件夹,其中包含来自先前流式查询 A 的数据,稍后从另一个 DF 读取数据,如此处所示
1 -当我尝试在同一程序的后续 readStream(ETL 管道的链接查询)中以这种方式读取它时,我最终会遇到下面的异常。
2 -但是,当我在 scala REPL 中运行它时,它运行顺利。
不确定那里发生了什么,但它确实令人费解。
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 中的错误:
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 试图将其写入增量表。
代码
错误:
请帮我解决这个问题
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
失败了。
我以为我会创建定义的列,但这也不起作用。
databricks - 如何在 Databricks 笔记本中查看 Delta Lake 版本?
如何在 databricks 笔记本中查看 delta Lake 版本?
(来自松弛)