问题标签 [apache-hudi]

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 投票
1 回答
201 浏览

google-cloud-dataproc - 如何在 dataproc 上运行 hudi 并写入 gcs 存储桶

我想使用 hudi 从 dataproc 写入 gcs 存储桶。

要使用 hudi 写入 gcs,它说将 prop fs.defaultFS 设置为值 gs:// ( https://hudi.apache.org/docs/gcs_hoodie )

但是,当我将 dataproc 上的 fs.defaultFS 设置为 gcs 存储桶时,我在启动时遇到与无法找到我的 jar 的作业有关的错误。它正在查找 gs:/ 前缀,大概是因为我已经覆盖了之前使用 find the jar 的 defaultFs。我将如何解决这个问题?

如果相关,我将在代码中设置 defaultFs。sparkConfig.set("spark.hadoop.fs.defaultFS", gs://defaultFs)

0 投票
2 回答
478 浏览

apache-spark - Apache Spark 和 Hudi:大量的输出文件

我正在尝试从许多不同的 .csv 文件(都具有相同的“结构”)中读取数据,使用 Spark 执行一些操作,最后以 Hudi 格式保存它们。
要将数据存储在同一个 Hudi 表中,我认为最好的方法是在执行写入时使用 append 方法。
问题是这样做会创建大量的小文件,其总和尺寸远远超过输入数据集的大小(在某些情况下是 10 倍)。

这是我对 Hudi 的配置:


虽然写操作是这样执行的:

result_df.write.format("hudi").options(**hudi_options).mode("append").save(basePath)

其中 result_df 是一个 Spark Dataframe,其架构始终相同,但数据不同,并且 basePath 是常量。
我检查了输出文件的内容,它们具有正确的架构/数据。那么,有没有办法将数据附加到同一个 Hudi 表文件中?

我对 apache Spark 和 Hudi 还很陌生,所以任何帮助/建议都将不胜感激;-)

0 投票
1 回答
1936 浏览

apache-spark - 有没有办法在 AWS 胶水上使用 Apache Hudi?

尝试探索 apach hudi 以使用 S3 作为源进行增量加载,然后最终通过 AWS 粘合作业将输出保存到 S3 中的不同位置。

有什么博客/文章可以作为起点提供帮助吗?

0 投票
0 回答
237 浏览

scala - java.lang.ClassNotFoundException:org.apache.parquet.hadoop.metadata.CompressionCodecName

有没有人在使用hudi与spark shell集成时遇到这样的问题?刚开始通过官方文档学习Hudi。环境版本为CDH-5.16.2,spark-2.3.0。

插入hudi时出现错误信息:

0 投票
2 回答
170 浏览

apache-spark - 在通过 apache livy 提交 hudi delta streamer 作业时需要帮助

我对如何将参数作为 REST API JSON 传递有点困惑。

考虑下面的火花提交命令。

如何将它作为 JSON 传递给 Livy 服务器。如何将 jar 文件作为文件和其他配置传递。

0 投票
1 回答
169 浏览

data-lake - Apache Hudi 如何异步合并增量?

我是 Apache Hudi 的新手。

在 Apache Hudi 中,合并读取表类型异步合并增量数据。当查询数据或满足合并配置(间隔或未合并的提交计数)时合并。

但是Hudi没有自己的后台进程,否则Hive。Hudi如何合并数据?

谢谢。

0 投票
1 回答
647 浏览

pyspark - 在 Apache Hudi 中删除 - 胶水作业

我必须构建一个胶水作业来更新和删除 Athena 表中的旧行。当我运行我的工作以删除它时,它会返回一个错误:

AnalysisException: 'Unable to infer schema for Parquet. It must be specified manually.;'

我的胶水工作:

我有 2 个数据源;第一个旧的 Athena 表,其中数据必须更新或删除,第二个表是新的更新或删除的数据。

ds我选择了旧表中必须删除的所有行。

op用于操作;'D' 表示删除,'U' 表示更新。

有谁知道我在这里想念什么?

0 投票
2 回答
106 浏览

java - 如何防止 hudi 将分区列写入数据?

考虑以下:

  1. 从分区结构中读取数据y=,m=,d=
  2. hudiDataSourceWriteOptions.PARTITIONPATH_FIELD_OPT_KEY配置设置为y=,m=,d=

乍一看,我必须删除y,m,d列,但如果没有这些列,hudi 将不知道分区,不是吗?

0 投票
2 回答
539 浏览

pyspark - 即使我给出了 MERGE_ON_READ,为什么 apache-hudi 仍在创建 COPY_ON_WRITE 表?

我正在尝试使用MERGE_ON_READ表类型创建一个简单的 hudi 表。在hoodie.properties文件中执行代码后,我看到hoodie.table.type=COPY_ON_WRITE

我在这里错过了什么吗?

此代码的 Jupyter Notebook: https ://github.com/sannidhiteredesai/spark/blob/master/hudi_acct.ipynb

编辑:执行上述代码后,我看到在 date=2015-01-01 分区中创建了 2 个镶木地板文件。在阅读第二个镶木地板文件时,我希望只获得更新的 1 条记录,但我也可以看到该分区中的所有其他记录。

0 投票
0 回答
176 浏览

pyspark - 以增量模式读取apache hudi MOR表时如何获取密钥的最后一次提交?

我有一个 key = acctid 的 MOR 表,当我在同一个键上执行 3 次提交并尝试以增量模式读取时,我只看到第一次提交,是否有使用增量模式读取给定键的最后一次提交或所有提交?

请查看以下详细信息:

我在第一次运行时在 mor 表中插入了以下数据

hudi 选项是:

之后,我通过传递 3 个不同的 ts 值和存款来为密钥 100 运行更新,以便在同一个密钥上完成 3 次提交

在此输出中,我看到 deposit = 11,有没有办法在不使用压缩的情况下以增量模式获得 deposit = 13?