carbondata1.5.1编译

简介: What is CarbonData?Apache CarbonData is an indexed columnar data format for fast analytics on big data platform, e.g. Apache Hadoop, Apache Spark, etc.因为我的spark是2.3.1的版本,而最新版的carbondata1.5.1才支持,但是官网没有编译好的,需要我们自己编译,在编译的时候遇到一些问题,记录一下.

What is CarbonData?


Apache CarbonData is an indexed columnar data format for fast analytics on big data platform, e.g. Apache Hadoop, Apache Spark, etc.


因为我的spark是2.3.1的版本,而最新版的carbondata1.5.1才支持,但是官网没有编译好的,需要我们自己编译,在编译的时候遇到一些问题,记录一下.


1.下载thrift-0.9.3,http://archive.apache.org/dist/thrift/0.9.3/


然后到thrift下编译安装


./configure


sudo make


sudo make install


2.下载maven:wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz


解压:tar -zxvf apache-maven-3.5.2-bin.tar.gz


配置maven环境变量


vi /etc/profile


添加环境变量


export MAVEN_HOME=/var/local/apache-maven-3.5.2
export MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin


编辑之后source /etc/profile命令使改动生效。


测试mvn -v 显示出maven的信息即为安装成功了


3.编译carbondata,因为1.5.1的源码有几个地方有bug我们需要先修改一下


(1).cp -f integration/spark2/src/main/commonTo2.1And2.2/org/apache/spark/sql/execution/strategy/CarbonDataSourceScan.scala  integration/spark2/src/main/spark2.3/org/apache/spark/sql/execution/strategy/CarbonDataSourceScan.scala   用第一个文件强制覆盖第二个.


(2). vi integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/bigdecimal.TestBigDecimal.scala,修改这个类的48行,把salary decimal(30,10) 改成 salary decimal(27,10)


(3).vi integration/spark-common/src/main/scala/org/apache/spark/util/CarbonReflectionUtils.scala,修改这个类的297行,把classOf[Seq[String]]改成classOf[Seq[Attribute]],修改301行,用method.invoke(dataSourceObj,mode,query,query.output,physicalPlan)替换掉原来的那个.


(4).执行mvn -DskipTests -Pspark-2.3 -Dspark.version=2.3.1   clean package,可以用 mvn -DskipTests -Pspark-2.3  -Dspark.version=2.3.1 clean package -X进行打印报错的信息.


(5).耐心等待,整个过程需要10分钟左右,然后会出现下图所示即为编译成功:



spark on yarn配置carbondata可以看这个

相关文章
|
Java 分布式数据库 Apache
编译hbase-1.2.3源代码
编译hbase-1.2.3源代码.pdf 目录 目录 1 1. 约定 1 2. 安装jdk 1 3. 安装maven 1 4.
1875 0
|
7月前
|
分布式计算 Hadoop Java
hadoop的基础设施-protobuf-2.5.0编译和安装
hadoop的基础设施-protobuf-2.5.0编译和安装
55 0
|
7月前
|
SQL Java Maven
hive-3.0.0源码编译详解
hive-3.0.0源码编译详解
63 0
|
SQL Java Apache
cdh5.16 重新编译flink1.10
cdh5.16 重新编译flink1.10
96 0
|
分布式计算 Hadoop Java
spark编译:构建基于hadoop的spark安装包及遇到问题总结
spark编译:构建基于hadoop的spark安装包及遇到问题总结
369 0
spark编译:构建基于hadoop的spark安装包及遇到问题总结
HIVE3 兼容spark3.XX,编译过程
HIVE3 兼容spark3.XX,编译过程
354 0
HIVE3 兼容spark3.XX,编译过程
|
Java 流计算
flink 1.15.2 编译生成jar文件
flink 1.15.2 编译生成jar文件
299 0
 flink 1.15.2 编译生成jar文件
|
SQL 存储 分布式计算
Hive简介及源码编译
Hive是一个基于Hadoop的数据仓库,可以将结构化数据映射成一张表,并提供类SQL的功能,最初由Facebook提供,使用HQL作为查询接口、HDFS作为存储底层、MapReduce作为执行层,设计目的是让SQL技能良好,但Java技能较弱的分析师可以查询海量数据,2008年facebook把Hive项目贡献给Apache。Hive提供了比较完整的SQL功能(本质是将SQL转换为MapReduce),自身最大的缺点就是执行速度慢。Hive有自身的元数据结构描述,可以使用MySql\ProstgreSql\oracle 等关系型数据库来进行存储,但请注意Hive中的所有数据都存储在HDFS中
438 0
Hive简介及源码编译
|
分布式计算 Hadoop Java