KUDU开发

KUDU开发

使用MapReduce、Spark或Impala,你可以读取Kudu表并将其写入HDFS

KUDU API

Kudu以结构化、强类型的方式存储数据,因此可以提供KUDU的SQL访问。

目前你可以Spark Sql来访问和操作数据。还可以使用Impala。Impala是Hadoop生态系统中原生分析型数据库。

分析数据库:是面向分析应用的数据库,与传统的数据库不同,它可以对数据进行在线统计、数据在线分析、随即查询等发掘信息数据价值的工作,是数据库产品一个重要的分支。

Impala提供了对各种数据源的表的抽象,这些表存在于KuduHDFSHbase、或云的对象存储(Amazon S3)中

KUDU CLient

1.可以用来检查表的存在

2.提交DDL 创建表create表 alter表

3.获得KUDU Table对象的引用。

 KUDU TABLE对象

1.insert/delete/update/upsert行

2.扫描行

 KUDU DDL

要定义新的KUDU表,要定义一个表模式(schema)。这个表模式包括所有列的名称、类型、是否为空值、默认值。

API接口

大多数传统的Hadoop生态系统组件基于Java虚拟机的服务,Kudu是用C++编写的。

使用Python开发Kudu应用

 import kudu

from kudu.client import Partitioning

所有使用Python开发的Kudu应用程序都需要与Kudu服务器建立client对象。

client=kudu.connect(host=kuduMaster,port=7051)

接下来,我们将调用Kudu的schema_builder API,得到一个建造者,然后用它建造一个表。

builder=kudu.shema_builder()

builder.add_column('lastname').type('string').default('doe').compression('snappy').encoding('plain').nullable(False)

builder.add_column('firstname').type('string').default('doe').compression('zlib').encoding('plain').nullable(False).block_size(20971520)

 在Impala中使用Kudu

Impala表是在Kudu表之上定义的。对于Impala来说,Kudu只是它包含的另一个存储层。

Kudu之上定义Impala表:

CREATE EXTERNAL TABLE 'impala_kudu_table' 

STORED AS KUDU

TBLPROPERTIES('kudu.table_name'='my_table_name','kudu.master_addresses'='')

posted @ 2020-09-25 09:49  猫七的blog  阅读(5)  评论(0编辑  收藏  举报