spark篇2:spark通过KuduContext操作kudu

spark篇2:spark通过KuduContext操作kudu

废话不多说,直接上干货

创建kudu表

package kudu.sparkKudu

import org.apache.kudu.spark.kudu.KuduContext
import org.apache.spark.sql.SparkSession
import org.apache.spark.{SparkConf, SparkContext}

object SparkKuduTest {
  def main(args: Array[String]): Unit = {
   val sparkSession = SparkSession.builder()
       .master("local")
      .appName("appName")
      .config("spark.testing.memory","471859200")
      .getOrCreate()
    //构建KuduContext对象
    val kuduContext = new KuduContext("cdh2:7051", sparkSession.sparkContext)

    //1.创建表操作
    createTable(kuduContext,"table_boy")
     }
 private def createTable(kuduContext: KuduContext, tableName: String): Unit = {
    //定义表的schema
    val schema = StructType(
        StructField("id", IntegerType, false) ::
        StructField("name", StringType, false) ::
        StructField("age", IntegerType, false) :: Nil
    )

    val primaryKey = Seq("id")
    //定义表的主键
    val list: util.List[String] = new util.LinkedList[String]
    list.add("id")

    //定义表的选项配置
    val options = new CreateTableOptions

    options.setRangePartitionColumns(list)
    options.setNumReplicas(1)

    //创建表
    if (!kuduContext.tableExists(tableName)) {
      kuduContext.createTable(tableName, schema, primaryKey, options)
    }
  }
  }
发布了11 篇原创文章 · 获赞 4 · 访问量 690

猜你喜欢

转载自blog.csdn.net/qq_38740498/article/details/103475225