В программе без Spark вы используете KUDU Client для доступа к KUDU. В приложении Spark для этого кластера KUDU вы используете контекст KUDU, у которого уже есть такой клиент.
Простая JAVA-программа требует клиента KUDU, использующего JAVA API и maven
подход.
KuduClient kuduClient = new KuduClientBuilder("kudu-master-hostname").build();
См. http://harshj.com/writing-a-simple-kudu-java-api-program/
Программа Spark / Scala, многие из которых могут быть запущены одновременно
против того же кластера с использованием интеграции Spark KUDU. отрывок
заимствовано из официального руководства, так как довольно давно я смотрел на это.
import org.apache.kudu.client._
import collection.JavaConverters._
// Read a table from Kudu
val df = spark.read
.options(Map("kudu.master" -> "kudu.master:7051", "kudu.table" -> "kudu_table"))
.format("kudu").load
// Query using the Spark API...
df.select("id").filter("id >= 5").show()
// ...or register a temporary table and use SQL
df.registerTempTable("kudu_table")
val filteredDF = spark.sql("select id from kudu_table where id >= 5").show()
// Use KuduContext to create, delete, or write to Kudu tables
val kuduContext = new KuduContext("kudu.master:7051", spark.sparkContext)
// Create a new Kudu table from a dataframe schema
// NB: No rows from the dataframe are inserted into the table
kuduContext.createTable("test_table", df.schema, Seq("key"),
new CreateTableOptions()
.setNumReplicas(1)
.addHashPartitions(List("key").asJava, 3))
// Insert data
kuduContext.insertRows(df, "test_table")
См. https://kudu.apache.org/docs/developing.html