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.
1861 0
|
4月前
|
SQL Java Maven
hive-3.0.0源码编译详解
hive-3.0.0源码编译详解
38 0
|
4月前
|
Java atlas 网络安全
Flink CDC编译问题之编译atlas报错如何解决
Flink CDC编译指的是将Flink CDC源代码转换成可执行程序的过程,可能会涉及到依赖管理和环境配置等问题;本合集将介绍Flink CDC编译的步骤、常见错误及其解决办法,以确保顺利完成编译过程。
|
4月前
|
分布式计算 Java Maven
Flink CDC编译问题之mvn导入失败如何解决
Flink CDC编译指的是将Flink CDC源代码转换成可执行程序的过程,可能会涉及到依赖管理和环境配置等问题;本合集将介绍Flink CDC编译的步骤、常见错误及其解决办法,以确保顺利完成编译过程。
|
4月前
|
关系型数据库 MySQL 测试技术
Flink CDC编译问题之编译cdc报错如何解决
Flink CDC编译指的是将Flink CDC源代码转换成可执行程序的过程,可能会涉及到依赖管理和环境配置等问题;本合集将介绍Flink CDC编译的步骤、常见错误及其解决办法,以确保顺利完成编译过程。
|
Ubuntu Java 程序员
Flink1.9.2源码编译和使用
修改flink1.9.2源码,并编译构建,在新的任务中使用和验证
169 0
Flink1.9.2源码编译和使用
|
SQL Java Apache
cdh5.16 重新编译flink1.10
cdh5.16 重新编译flink1.10
82 0
|
SQL 分布式计算 Hadoop
编译及使用hive-testbench生成Hive基准测试数据
编译及使用hive-testbench生成Hive基准测试数据
330 0
HIVE3 兼容spark3.XX,编译过程
HIVE3 兼容spark3.XX,编译过程
315 0
HIVE3 兼容spark3.XX,编译过程