最近公司准备尝试使用新的数据库kudu,于是做了一点研究。由于我们公司的大数据开发语言是scala,但是kudu官网并没有给出scala的KuduClient API,于是我就对照kudu的java API模仿了一套scala版本的API。
kudu API scala版系列:
Kudu insert data api (scala版)
Kudu select data api (scala版)
Kudu updata data api (scala版)
Kudu upsert data api (scala版)
Kudu delete data api (scala版)
这一篇是建表语句:
// 创建kudu连接
val kuduClient = new KuduClient.KuduClientBuilder("172.20.85.29:7051").build()
// 设置表名
val tableName = "kudu_test"
// 创建列
val colums = List[ColumnSchema]((new ColumnSchema.ColumnSchemaBuilder("name", Type.STRING).key(true).nullable(false).build()),
(new ColumnSchema.ColumnSchemaBuilder("age", Type.INT64).nullable(true).build()),
(new ColumnSchema.ColumnSchemaBuilder("city", Type.STRING).nullable(true).build()))
val schema: Schema = new Schema(colums.asJava)
// 设置hash分区
val cto: CreateTableOptions = new CreateTableOptions()
cto.setRangePartitionColumns(List("name").asJava).setNumReplicas(3)
// 执行建表语句
kuduClient.createTable(tableName, schema, cto)
// 关闭kudu连接
kuduClient.close()
欢迎关注我的公众号——数据杨公子。本公众号会分享包括但不限于大数据、数据治理、元数据管理、python 等方面的技术文章,主旨是和大家一起共同成长,用技术来认识我们这个数据的时代。