问题标签 [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.
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)
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 还很陌生,所以任何帮助/建议都将不胜感激;-)
apache-spark - 有没有办法在 AWS 胶水上使用 Apache Hudi?
尝试探索 apach hudi 以使用 S3 作为源进行增量加载,然后最终通过 AWS 粘合作业将输出保存到 S3 中的不同位置。
有什么博客/文章可以作为起点提供帮助吗?
scala - java.lang.ClassNotFoundException:org.apache.parquet.hadoop.metadata.CompressionCodecName
有没有人在使用hudi与spark shell集成时遇到这样的问题?刚开始通过官方文档学习Hudi。环境版本为CDH-5.16.2,spark-2.3.0。
插入hudi时出现错误信息:
apache-spark - 在通过 apache livy 提交 hudi delta streamer 作业时需要帮助
我对如何将参数作为 REST API JSON 传递有点困惑。
考虑下面的火花提交命令。
如何将它作为 JSON 传递给 Livy 服务器。如何将 jar 文件作为文件和其他配置传递。
data-lake - Apache Hudi 如何异步合并增量?
我是 Apache Hudi 的新手。
在 Apache Hudi 中,合并读取表类型异步合并增量数据。当查询数据或满足合并配置(间隔或未合并的提交计数)时合并。
但是Hudi没有自己的后台进程,否则Hive。Hudi如何合并数据?
谢谢。
pyspark - 在 Apache Hudi 中删除 - 胶水作业
我必须构建一个胶水作业来更新和删除 Athena 表中的旧行。当我运行我的工作以删除它时,它会返回一个错误:
AnalysisException: 'Unable to infer schema for Parquet. It must be specified manually.;'
我的胶水工作:
我有 2 个数据源;第一个旧的 Athena 表,其中数据必须更新或删除,第二个表是新的更新或删除的数据。
在ds
我选择了旧表中必须删除的所有行。
op
用于操作;'D' 表示删除,'U' 表示更新。
有谁知道我在这里想念什么?
java - 如何防止 hudi 将分区列写入数据?
考虑以下:
- 从分区结构中读取数据
y=,m=,d=
。 - hudi
DataSourceWriteOptions.PARTITIONPATH_FIELD_OPT_KEY
配置设置为y=,m=,d=
乍一看,我必须删除y,m,d
列,但如果没有这些列,hudi 将不知道分区,不是吗?
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 条记录,但我也可以看到该分区中的所有其他记录。
pyspark - 以增量模式读取apache hudi MOR表时如何获取密钥的最后一次提交?
我有一个 key = acctid 的 MOR 表,当我在同一个键上执行 3 次提交并尝试以增量模式读取时,我只看到第一次提交,是否有使用增量模式读取给定键的最后一次提交或所有提交?
请查看以下详细信息:
我在第一次运行时在 mor 表中插入了以下数据
hudi 选项是:
之后,我通过传递 3 个不同的 ts 值和存款来为密钥 100 运行更新,以便在同一个密钥上完成 3 次提交
在此输出中,我看到 deposit = 11,有没有办法在不使用压缩的情况下以增量模式获得 deposit = 13?