问题标签 [iceberg]

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 投票
2 回答
904 浏览

scala - 如何向现有 Iceberg 表添加分区

如何为未分区的现有 Iceberg 表添加分区?表已经加载了数据。

表已创建:

有什么建议么?

0 投票
1 回答
951 浏览

hadoop - 带有 Iceberg 和 S3 的独立 Hive Metastore

我想使用 Presto 来查询存储在 S3 中的 Iceberg 表作为 parquet 文件,因此我需要使用 Hive 元存储。我正在运行由 MySql 支持的独立配置单元元存储服务。我已将 Iceberg 配置为使用 Hive 目录:

我收到以下错误:Caused by: MetaException(message:Got exception: org.apache.hadoop.fs.UnsupportedFileSystemException No FileSystem for scheme "s3")

我已包含/hadoop-3.3.0/share/hadoop/tools/libHADOOP_CLASSPATH,还将与 aws 相关的 jar 复制到apache-hive-metastore-3.0.0-bin/lib. 还缺少什么?

0 投票
1 回答
1631 浏览

java - Apache Iceberg 无法将数据写入表中

我正在尝试通过 Apache Iceberg 0.9.1 将简单数据写入表中,但显示错误消息。我想直接通过 Hadoop 对数据进行 CRUD。我创建了一个 hadooptable ,并尝试从表中读取。之后我尝试将数据写入表中。我准备了一个包含一行的 json 文件。我的代码已经读取了json对象,并排列了数据的顺序,但是最后一步写入数据总是出错。我已经更改了某些版本的依赖包,但显示了另一个错误消息。包的版本是否有问题。请帮我。

这是我的源代码:

这是错误消息:

这是我的 pom.xml:

0 投票
0 回答
281 浏览

apache-flink - Flink 的 hive 流与 iceberg/hudi/delta

有一些开源的datake解决方案支持crud/acid/incremental pull,例如Iceberg、Hudi、Delta。我认为他们已经做了 flink 的 Hive Streaming 想做的事情,甚至做得更好,

所以,我想问一下,flink 的 hive 流的真正力量比 flink+iceberg/flink+hudi 提供了什么。也许 flink+iceberg 或 flink+hudi 目前还没有成熟,但这不是一个大问题,它们会是很快成熟。

0 投票
1 回答
443 浏览

java - SparkSQL DELETE 命令不会删除 Apache Iceberg 中的一行,是吗?

我使用带有 scala_2.12 的 Spark SQL 3.0。我将数据插入冰山表并成功从表中读取数据。当我尝试通过 spark SQL 从表中删除一条错误记录时,日志显示异常。github 的 apache iceberg 的 issue 1444 显示了上一版本的 iceberg 支持行级删除。为什么我删除不成功?我使用的主要冰山版本是 0.10.0 。包 org.apache.iceberg.iceberg-hive 版本是 0.9.1 。请帮忙!我的 Spark SQL 代码段是:

当代码运行时,异常消息是:

0 投票
2 回答
3231 浏览

apache-spark - 如何使用 Spark SQL 将数据写入 Apache Iceberg 表?

我正在尝试熟悉 Apache Iceberg,但在理解如何使用 Spark SQL 将一些外部数据写入表时遇到了一些麻烦。

  • 我有一个文件one.csv,位于/data目录中
  • 我的 Iceberg 目录配置为指向此目录/warehouse
  • 我想将此one.csv写入Apache Iceberg 表(最好使用 Spark SQL)

甚至可以使用 Spark SQL 读取外部数据吗?然后把它写到冰山表上?我必须使用 scala 或 python 来执行此操作吗?我已经阅读了大量 Iceberg 和 Spark 3.0.1 文档,但也许我遗漏了一些东西。

代码更新

这是一些我希望对您有所帮助的代码

我有需要使用的数据,位于/one/one.csv目录中

如何使用 Spark 将其放入 Iceberg 表中?所有这些都可以完全使用 SparkSQL 完成吗?

然后目标是我可以直接使用这个冰山表,例如:

这将为我提供/one/one.csv文件中的所有内容。

0 投票
1 回答
397 浏览

scala - Iceberg 的 FlinkSink 不会在流式写入中更新元数据文件

我一直在尝试使用 Iceberg 的 FlinkSink 来消耗数据并写入接收器。我成功地从 kinesis 获取数据,并且我看到数据正在写入适当的分区。但是,我没有看到metadata.json正在更新。没有它我无法查询表。

任何帮助或指针表示赞赏。

以下是代码。

提前致谢。

0 投票
1 回答
227 浏览

apache-spark - 从 spark 编写 AVRO 时 Iceberg 不工作

  1. 将 AVRO 文件从 GCS 附加到表时遇到以下错误。avro 文件是有效的,但我们使用的是放气的 avro,这是一个问题吗?

线程“streaming-job-executor-0”中的异常 java.lang.NoClassDefFoundError: org.apache.iceberg.avro.AvroIterable.newFileReader(AvroIterable.java:101) at org.apache.iceberg 的 org/apache/avro/InvalidAvroMagicException .avro.AvroIterable.iterator(AvroIterable.java:77) 在 org.apache.iceberg.avro.AvroIterable.iterator(AvroIterable.java:37) 在 org.apache.iceberg.relocated.com.google.common.collect.Iterables .addAll(Iterables.java:320) 在 org.apache.iceberg.relocated.com.google.common.collect.Lists.newLinkedList(Lists.java:237) 在 org.apache.iceberg.ManifestLists.read(ManifestLists.java :46) 在 org.apache.iceberg.BaseSnapshot.cacheManifests(BaseSnapshot.java:127) 在 org.apache.iceberg.BaseSnapshot.dataManifests(BaseSnapshot.java:149) 在 org.apache.iceberg.MergingSnapshotProducer.apply(MergingSnapshotProducer. java:343) 在 org.apache.iceberg。SnapshotProducer.apply(SnapshotProducer.java:163) at org.apache.iceberg.SnapshotProducer.lambda$commit$2(SnapshotProducer.java:276) at org.apache.iceberg.util.Tasks$Builder.runTaskWithRetry(Tasks.java:404 ) 在 org.apache.iceberg.util.Tasks$Builder.run(Tasks.java:197) 在 org.apache.iceberg 的 org.apache.iceberg.util.Tasks$Builder.runSingleThreaded(Tasks.java:213)。 util.Tasks$Builder.run(Tasks.java:189) at org.apache.iceberg.SnapshotProducer.commit(SnapshotProducer.java:275) at com.snapchat.transformer.TransformerStreamingWorker.lambda$execute$d121240d$1(TransformerStreamingWorker.java :162) 在 org.apache.spark.streaming.api.java.JavaDStreamLike.$anonfun$foreachRDD$2 的 org.apache.spark.streaming.api.java.JavaDStreamLike.$anonfun$foreachRDD$2(JavaDStreamLike.scala:280) $adapted(JavaDStreamLike.scala:280) 在 org.apache.spark.streaming.dstream。ForEachDStream.$anonfun$generateJob$2(ForEachDStream.scala:51) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) at org.apache.spark.streaming.dstream。 DStream.createRDDWithLocalProperties(DStream.scala:416) at org.apache.spark.streaming.dstream.ForEachDStream.$anonfun$generateJob$1(ForEachDStream.scala:51) at scala.runtime.java8.JFunction0$mcV$sp.apply( JFunction0$mcV$sp.java:23) at scala.util.Try$.apply(Try.scala:213) at org.apache.spark.streaming.scheduler.Job.run(Job.scala:39) at org. apache.spark.streaming.scheduler.JobScheduler$JobHandler.$anonfun$run$1(JobScheduler.scala:257) 在 scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) 在scala.util.DynamicVariable.withValue(DynamicVariable.scala:62) 在 org.apache.spark.streaming.scheduler.JobScheduler$JobHandler.run(JobScheduler.scala:257) 在 java.util。concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)Caused by: java .lang.ClassNotFoundException: org.apache.avro.InvalidAvroMagicException 在 java.lang.ClassLoader.loadClass 的 java.lang.ClassLoader.loadClass(ClassLoader.java:418) 的 java.net.URLClassLoader.findClass(URLClassLoader.java:382) (ClassLoader.java:351) ... 38 更多418) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:351) ... 38 更多418) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:351) ... 38 更多

  1. 日志显示冰山表的表已经存在,但是我无法在 gcs 中看到元数据文件?我正在从 dataproc 集群运行 spark 作业,我在哪里可以看到元数据文件?

##################### Iceberg 版本:0.11 spark 版本 3.0 #####################

0 投票
1 回答
147 浏览

apache-spark - Iceberg GCS 和一致性

Iceberg 是否支持将数据写入 GCS?因为要使冰山的原子性根据https://iceberg.apache.org/java-api-quickstart/工作,GCS 应该支持原子重命名,但是来自https://cloud.google.com/storage/docs/gsutil/ commands/mv GCS 重命名不是原子的。如果 iceberg 不支持 GCS,处理原子性的解决方法是什么

0 投票
1 回答
519 浏览

scala - 将 Flink DataStream 写入 Iceberg 表:NoSuchMethodError: org.apache.parquet.schema.Types$PrimitiveBuilder.as

我尝试将 flink 数据流写入冰山表,如下所示:'''

然后我得到错误:

我检查了 jar 的内容,它包括所需的 Types$PrimitiveBuilder 类:

当我检查源代码时,发现想法错误:

库源与 TypeToMessageType 类的字节码不匹配

但所有其他课程都可以。

我尝试在我的 maven 存储库中删除 iceberg-parquet.jar 和 parquet-column.jar 并重新导入项目,并尝试禁用 Idea 的 Lombok 插件 - 但没有效果。

版本:CDH 6.3.2 Flink 1.11.2 Iceberg 0.11.0