carbondata 编译部署

简介

carbondata 是华为开源的一种数据格式(如textfile,parquet,ORC……),号称实现大数据即席查询秒级响应。支持hadoop列式存储,文件格式,支持索引、压缩以及解编码等。

特点:

多维数据聚集

带索引的列存文件结构

支持列组

支持多种数据类型

压缩

Hadoop集成

可计算的编码方式

与计算引擎联合优化

官方推荐场景:希望一份数据存储可以同时满足快速扫描,多维分析,明细数据查询的场景。


部署

部署环境:需安装hadoop,spark,scala,jdk,thrift,maven。

1. 下载

carbondata现属于apache incubator项目。可从

https://github.com/apache/incubator-carbondata下载

或huawei carbondata官网

2. 编译

使用maven,可以根据需求更改maven仓库地址,以实现更快的下载速度。

进入carbondata根目录:

mvn clean package -DskipTests -Pspark-2.1 -Dspark.version=2.1.0 -Phadoop-2.7.2

版本可以在carbondata根目录下的pom.xml文件中查看spark和hadoop版本号,对应自己系统的spark,hadoop版本。

3.更改配置文件

复制carbon.properties文件

cp ~/carbondata/conf/carbon.properties.template /opt/spark-2.1.0/conf/carbon.properties

配置carbon.properties

carbon.storelocation=hdfs://host:port/opt/carbonStore

carbon.ddl.base.hdfs.url=hdfs://host:port/opt/data

#lock文件存储方式

carbon.lock.type=HDFSLOCK

配置spark-defaults.conf

spark.executor.extraJavaOptions        -Dcarbon.properties.filepath=/opt/spark-2.1.0/conf/carbon.properties

spark.driver.extraJavaOptions          -Dcarbon.properties.filepath=/opt/spark-2.1.0/conf/carbon.properties

4.启动

通过spark-shell启动standalone模式

./bin/spark-shell --jars carbondata.jar

启动spark on yarn模式

./bin/spark-shell --master yarn --num-executors 60 --executor-memory 5g --executor-cores 2 --driver-memory 10g --driver-cores 2 --jars carbondata.jar

5.example

importorg.apache.spark.sql.SparkSession

importorg.apache.spark.sql.CarbonSession._

val carbon =SparkSession.builder().config(sc.getConf).getOrCreateCarbonSession("hdfs://master:9000/opt/carbonStore")

carbon.sql("create table ……")

建表时,可参照http://carbondata.apache.org/docs/latest/mainpage.html?page=userguide#create-table

可使用索引,列组……


6.数据导入

LOAD DATA [LOCAL] INPATH 'folder_path' INTO TABLE[db_name.]table_name OPTIONS(property_name=property_value, ...)


后续后带来carbondata和parquet,orc的对比!

你可能感兴趣的:(carbondata 编译部署)