使用java将parquet文件转换为delta时出现异常

whhtz7ly  于 2023-05-15  发布在  Java
关注(0)|答案(1)|浏览(87)

我试图使用java将parquet文件转换为delta,使用java11和spark和scale作为maven依赖项,同时试图阻止我获得异常

SparkSession spark = SparkSession.builder().
appName("Solo-spark").master("local[1]").getOrCreate();`

在这里,我们有一个Spark会议。
现在你可以用三角洲部队的

DeltaTable
    .convertToDelta(spark,"parquet.`/Users/hokage/Downloads/python-paraquet`");

我得到以下错误

Exception in thread "main" java.lang.NoClassDefFoundError: scala/$less$colon$less
    at org.soloworld.App.main(App.java:24)
Caused by: java.lang.ClassNotFoundException: scala.$less$colon$less
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 1 more

这些是我的依赖项:

<dependency>
      <groupId>io.delta</groupId>
      <artifactId>delta-core_2.13</artifactId>
      <version>2.3.0</version>
    </dependency>
    <dependency>
      <groupId>io.delta</groupId>
      <artifactId>delta-iceberg_2.13</artifactId>
      <version>2.3.0</version>
    </dependency>
    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-library</artifactId>
      <version>2.12.17</version>
</dependency>
zaq34kh6

zaq34kh61#

你混合了不同的Scala版本--你使用了为Scala 2.13(后缀为_2.13)和Scala 2.12(后缀为2.12.17)版本编译的库。您还需要检查Apache Spark发行版编译的Scala版本。
P.S.你也不需要delta-iceberg依赖来从Parquet转换到Delta格式。

相关问题