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)
    }
  }
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值