首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dataproc上的Apache Hudi

Dataproc上的Apache Hudi
EN

Stack Overflow用户
提问于 2022-12-01 17:06:21
回答 1查看 37关注 0票数 2

有在Dataproc集群上部署Apache的指南吗?我正试图通过Hudi快速启动指南进行部署,但我做不到。

火花3.1.1

Python 3.8.13

Debian 5.10.127 x86_64

发射代码:

代码语言:javascript
复制
pyspark --jars gs://bucket/artifacts/hudi-spark3.1.x_2.12-0.11.1.jar,gs://bucket/artifacts/spark-avro_2.12-3.1.3.jar \
--conf 'spark.serializer=org.apache.spark.serializer.KryoSerializer' \
--conf 'spark.sql.catalog.spark_catalog=org.apache.spark.sql.hudi.catalog.HoodieCatalog'

尝试:

代码语言:javascript
复制
dataGen = sc._jvm.org.apache.hudi.QuickstartUtils.DataGenerator()

错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'JavaPackage' object is not callable

编辑1:

代码语言:javascript
复制
pyspark --jars gs://bucket/artifacts/hudi-spark3.1.x_2.12-0.11.1.jar,gs://bucket/artifacts/spark-avro_2.12-3.1.3.jar --conf 'spark.serializer=org.apache.spark.serializer.KryoSerializer' --conf 'spark.sql.extensions=org.apache.spark.sql.hudi.HoodieSparkSessionExtension'

抛出误差

警告org.apache.spark.sql.hudi.HoodieSparkSessionExtension :不能使用org.apache.spark.sql.SparkSession配置会话扩展。org.apache.spark.sql.hudi.HoodieSparkSessionExtension.:java.lang.ClassNotFoundException

也得到了相同的错误,尝试sc._jvm.org.apache.hudi.QuickstartUtils.DataGenerator()

编辑2:

我使用了错误的.jar.,这个编辑正确的第一个问题

正确的电火花呼叫:

代码语言:javascript
复制
pyspark --jars gs://dev-dama-stg-spark/artifacts/hudi-spark3.1-bundle_2.12-0.12.1.jar,gs://dev-dama-stg-spark/artifacts/spark-avro_2.12-3.1.3.jar --conf 'spark.serializer=org.apache.spark.serializer.KryoSerializer' --conf 'spark.sql.extensions=org.apache.spark.sql.hudi.HoodieSparkSessionExtension'

然而新的错误..。在创建表和hudi.options之后:

代码语言:javascript
复制
22/12/01 22:26:04 WARN org.apache.hudi.common.config.DFSPropertiesConfiguration: Cannot find HUDI_CONF_DIR, please set it as the dir of hudi-defaults.conf
22/12/01 22:26:04 WARN org.apache.hudi.common.config.DFSPropertiesConfiguration: Properties file file:/etc/hudi/conf/hudi-defaults.conf not found. Ignoring to load props file
22/12/01 22:26:05 WARN org.apache.hudi.metadata.HoodieBackedTableMetadata: Metadata table was not found at path file:/tmp/hudi_trips_cow/.hoodie/metadata
22/12/01 22:26:07 WARN org.apache.spark.scheduler.TaskSetManager: Lost task 0.0 in stage 1.0 (TID 2) (... 2): java.io.FileNotFoundException: File file:/tmp/hudi_trips_cow does not exist

有什么线索吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-12-02 09:12:47

找到了我自己的解决方案。

首先,要正确地启动火花放电,请将hudi-spark_bundlespark avro作为jars。另外,在我的例子中,我想包括一些jdbc jdbc来连接我的内部服务:

代码语言:javascript
复制
pyspark --jars gs://bucket/artifacts/hudi-spark3.1-bundle_2.12-0.12.1.jar,
gs://bucket/artifacts/spark-avro_2.12-3.1.3.jar,
gs://bucket/artifacts/mssql-jdbc-11.2.1.jre8.jar,
gs://bucket/artifacts/ngdbc-2.12.9.jar \
--conf 'spark.serializer=org.apache.spark.serializer.KryoSerializer' \
--conf 'spark.sql.extensions=org.apache.spark.sql.hudi.HoodieSparkSessionExtension'

遵循hudi快速指南,这是唯一需要改变的地方:

代码语言:javascript
复制
basePath = "file:///tmp/hudi_trips_cow"

到这个

代码语言:javascript
复制
basePath = "gs://bucket/tmp/hudi_trips_cow"

通过这种配置,我能够在Dataproc中正确地运行hudi。

如果我发现新的信息,我会在这里张贴,以保存作为一个简短的指南。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74645619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档