[FusionInsight] 关于CarbonData开发

以华为为主力贡献的,上周升级为apache顶级项目。,C60U10 SPC005可用
用途:OLAP
给Spark提供数据存储,Spark + Carbon > Hive + OrcFile

 

以下内容来自文档参考和自用

1. 连接到Carbon
使用Spark SQL或Spark shell连接到Spark并执行Spark SQL命令。
或者

开启ThriftServer并使用JDBC客户端(例如,Beeline)连接。
说明:
用户应该属于数据加载组,以完成数据加载操作。默认数据加载组名为“carbondataload”。更多详细信息可参考如何在Carbon数据加载时修改默认的组名?。

2. 创建Carbon Table
在Beeline被连接到ThriftServer之后,需要创建一个Carbon table用于加载数据和执行查询操作。下面是创建一个简单的表的命令。

create table x1 (imei string, deviceInformationId int, mac string, productdate timestamp, updatetime timestamp, gamePointId double, contractNumber double)

STORED BY ‘org.apache.carbondata.format’

TBLPROPERTIES (‘DICTIONARY_EXCLUDE’=’mac’,

‘DICTIONARY_INCLUDE’=’deviceInformationId’);

命令执行结果如下:

+———+–+
| result |
+———+–+
+———+–+
No rows selected (1.551 seconds)3. 加载数据到Carbon Table
创建Carbon table之后,可以从CSV文件加载数据到所创建的表中。

以从CSV文件加载数据到Carbon Table为例

用所要求的参数运行以下命令从CSV文件加载数据。该表的列名需要与CSV文件的列名匹配。

LOAD DATA inpath ‘hdfs://hacluster/data/x1_without_header.csv’ into table x1 options(‘DELIMITER’=’,’, ‘QUOTECHAR’='”‘,’FILEHEADER’=’imei, deviceinformationid,mac, productdate,updatetime, gamepointid,contractnumber’);

其中,“x1_without_header.csv”为示例的CSV文件,“x1”为示例的表名。

命令执行结果如下:

+———+–+
| Result |
+———+–+
+———+–+
No rows selected (3.039 seconds)4. 在Carbon中查询数据
创建Carbon table并加载数据之后,可以执行所需的数据查询操作。以下为一些查询操作举例。

获取记录数
为了获取在Carbon table中的记录数,可以运行以下命令。

select count(*) from x1;

使用Groupby查询
为了获取不重复的deviceinformationid记录数,可以运行以下命令。

select deviceinformationid,count (distinct deviceinformationid) from x1 group by deviceinformationid;

用Filter查询
为了获取特定deviceinformationid的记录,可以运行以下命令。

select * from x1 where deviceinformationid=’10’;

分类上一篇:无,已是最新文章    分类下一篇:无,已是最新文章

Leave a Reply