Apache Kudu с Apache Spark NoSuchMethodError: exportAuthenticationCredentials

У меня есть эта функция с Spark и Scala:

import org.apache.kudu.client.CreateTableOptions
import org.apache.spark.sql.functions._
import org.apache.spark.sql.types._
import org.apache.spark.sql.{DataFrame, Dataset, Encoders, SparkSession}
import org.apache.kudu.spark.kudu._

def save(df: DataFrame): Unit ={
    val kuduContext: KuduContext = new KuduContext("quickstart.cloudera:7051")

    kuduContext.createTable(
      "test_table", df.schema, Seq("anotheKey", "id", "date"),
      new CreateTableOptions()
        .setNumReplicas(1))

    kuduContext.upsertRows(df, "test_table")
  }

Но при попытке создать kuduContext возникает исключение:

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.kudu.client.KuduClient.exportAuthenticationCredentials()[B
    at org.apache.kudu.spark.kudu.KuduContext.<init>(KuduContext.scala:63)
    at com.mypackge.myObject$.save(myObject.scala:24)
    at com.mypackge.myObject$$anonfun$main$1.apply$mcV$sp(myObject.scala:59)
    at com.mypackge.myObject$$anonfun$main$1.apply(myObject.scala:57)
    at com.mypackge.myObject$$anonfun$main$1.apply(myObject.scala:57)
    at com.mypackge.myObject$.time(myObject.scala:17)
    at com.mypackge.myObject$.main(myObject.scala:57)
    at com.mypackge.myObject.main(myObject.scala)

Спарк работает без проблем. Я установил виртуальную машину Kudu, как описано в официальных документах, и без проблем зарегистрировался с Bash на Impala.

У кого-нибудь есть идеи о том, что я делаю не так?

1 ответ

Решение

Проблема заключалась в зависимости проекта от старой версии kudu-client (1.2.0), когда я использовал kudu-spark 1.3.0 (которая включает в себя kudu-client 1.3.0). Исключением был kudu-client из pom.xml.

Другие вопросы по тегам