kudu 表字段类型有哪些?什么是个kudu分区?

kudu 表字段类型有哪些?什么是个kudu分区?,第1张

对于使用kudu1.1以及以下的用户,利用impala创建kudu表的语句为:

create table testdb.testtable1(

uuid string,

number int,

name string,

sex string

)distribute by hash(uuid) into 3 buckets, //利用哈希根据uuid分成三个桶

Range (number) split rows(('10001'),('10002'),('10003')) //利用number进行分区

TABLEPROPERTIES(

'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',

'kudu.table_name' = 'testtable1',

'kudu.master_addresses' = 'master:7051',

'kudu.key_columns' = 'uuid' //指定主键

)

摘要: Spark SQL , Kudu

参考 https://github.com/xieenze/SparkOnKudu/blob/master/src/main/scala/com/spark/test/KuduCRUD.scala

引入 spark-core_2.11 , spark-sql_2.11 , kudu-spark2_2.11 , hadoop-client 依赖包

指定 kudu.master" , kudu.table ,如果读取超时加入 kudu.operation.timeout.ms 参数

或者

写入数据可以使用dataframe的 write 方法,也可以使用 kuduContext 的 updateRows , insertRows , upsertRows , insertIgnoreRows 方法

直接调用dataframe的write方法指定 kudu.master , kudu.table ,只支持 append 模式,对已有key的数据自动更新

调用kuduContext的 upsertRows 方法,效果和dataframe调用write append模式一样

调用kuduContext insertRows , insertIgnoreRows 方法,如果插入的数据key已存在insertRows直接报错,insertIgnoreRows忽略已存在的key,只插入不存在的key

调用kuduContext updateRows 方法,对已经存在的key数据做更新,如果key不存在直接报错

使用已有dataframe的schema建表

使用 StructType 自定义schema

删除表和判断表是否存在


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11895187.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存