标签: apache-hudi

LakeFS、Hudi、Delta Lake合并以及合并冲突

我正在阅读有关 LakeFS 的文档,现在还不清楚什么是 LakeFS 的合并甚至合并冲突。

假设我使用 Apache Hudi 对单个表提供 ACID 支持。我想引入多表 ACID 支持,为此我想将 LakeFS 与 Hudi 一起使用。

如果我理解正确的话,lakeFS 是一个与数据无关的解决方案,对数据本身一无所知。LakeFS 仅建立边界(版本控制)并以某种方式调节对数据的并发访问。

所以合理的问题是——如果 LakeFS 与数据无关,它如何支持合并操作?合并本身对 LakeFS 意味着什么?那里有可能发生合并冲突吗?

data-lake delta-lake apache-hudi lakefs data-lakehouse

13
推荐指数
1
解决办法
509
查看次数

java.lang.ClassNotFoundException:找不到数据源:hudi。请在 http://spark.apache.org/third-party-projects.html 找到软件包

我正在尝试从 hudi 读取数据,但出现以下错误

Caused by: java.lang.ClassNotFoundException: Failed to find data source: hudi. Please find packages at http://spark.apache.org/third-party-projects.html
Run Code Online (Sandbox Code Playgroud)

我可以使用以下命令使用我的 jupyter 笔记本从 Hudi 读取数据

import org.apache.spark.sql.SparkSession
val spark = SparkSession.builder.config(
    "spark.sql.catalogImplementation", "hive"
).config(
    "spark.serializer", "org.apache.spark.serializer.KryoSerializer"
).enableHiveSupport().getOrCreate




import org.apache.hudi.DataSourceReadOptions
val hudiIncQueryDF = spark.read.format("hudi").load(
    "path"
)

import org.apache.spark.sql.functions._
hudiIncQueryDF.filter(col("column_name")===lit("2022-06-01")).show(10,false)
Run Code Online (Sandbox Code Playgroud)

此 jupyter 笔记本是使用使用以下属性之一创建的集群打开的

--properties spark:spark.jars="gs://rdl-stage-lib/hudi-spark3-bundle_2.12-0.10.0.jar" \
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用同一集群的 Spark-Submit 运行作业时,出现上述错误。我还在我的作业属性中添加了spark.serializer=org.apache.spark.serializer.KryoSerializer。不确定是什么问题。

apache-spark google-cloud-dataproc apache-hudi

5
推荐指数
1
解决办法
2640
查看次数

Spark 流 - 导致:org.apache.parquet.io.ParquetDecodingException:无法读取文件中块 0 中 1 处的值

我使用 Spark 将 json 数据写入 s3。但是,我不断收到以下错误。我们使用 apache hudi 进行更新。这只发生在某些数据上,其他一切都正常。

Caused by: org.apache.parquet.io.ParquetDecodingException: Can not read value at 1 in block 0 
 in file s3a://<path to parquet file>
at org.apache.parquet.hadoop.InternalParquetRecordReader.nextKeyValue(InternalParquetRecordReader.ja va:251)

App > at org.apache.parquet.hadoop.ParquetReader.read(ParquetReader.java:132)

App > at org.apache.parquet.hadoop.ParquetReader.read(ParquetReader.java:136)

 App > at com.uber.hoodie.func.ParquetReaderIterator.hasNext(ParquetReaderIterator.java:45)

App > at com.uber.hoodie.common.util.queue.IteratorBasedQueueProducer.produce(IteratorBasedQueueProducer.java:44)

App > at com.uber.hoodie.common.util.queue.BoundedInMemoryExecutor.lambda$null$0(BoundedInMemoryExecutor.java:94)

App > at java.util.concurrent.FutureTask.run(FutureTask.java:266)

 App > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

App > ... 4 more

App > Caused by: java.lang.UnsupportedOperationException:org.apache.parquet.avro.AvroConverters$FieldLongConverter
Run Code Online (Sandbox Code Playgroud)

我无法理解。我跟踪了几个线程并在我的 Spark confs 中设置 --conf "spark.sql.parquet.writeLegacyFormat=true" 。但即使这样也无济于事。

apache-spark parquet spark-streaming hoodie apache-hudi

2
推荐指数
1
解决办法
5149
查看次数

将 Apache Hudi 与 Python/Pyspark 结合使用

有人在 Pyspark 环境中使用过 Apache Hudi 吗?如果可能的话,有可用的代码示例吗?

pyspark apache-hudi

0
推荐指数
1
解决办法
6485
查看次数