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.
1883 0
|
9月前
|
分布式计算 Java Scala
Spark-Adaptive编译和打包
Spark-Adaptive编译和打包
45 0
Spark-Adaptive编译和打包
|
9月前
|
SQL Java Maven
hive-3.0.0源码编译详解
hive-3.0.0源码编译详解
81 0
|
9月前
|
Java Apache 数据库
下一代实时数据库:Apache Doris 【二】编译与安装
下一代实时数据库:Apache Doris 【二】编译与安装
539 0
|
SQL 分布式计算 Hadoop
编译及使用hive-testbench生成Hive基准测试数据
编译及使用hive-testbench生成Hive基准测试数据
434 0
HIVE3 兼容spark3.XX,编译过程
HIVE3 兼容spark3.XX,编译过程
372 0
HIVE3 兼容spark3.XX,编译过程
|
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中
462 0
Hive简介及源码编译
hudi 0.10.0适配hdp 3.1.5编译
hudi由于其依赖于hdfs作为后端存储,所以为了适配hdp 3.1.5版本,需要进行适配性编译,本文介绍hudi 0.10.0适配hdp 3.1.5编译。
hudi 0.10.0适配hdp 3.1.5编译
|
SQL Java 测试技术
CarbonData集成 Presto(Trino)(2)- 运行排错篇
本文详细介绍了如何集成最新Trino时候的一些排错思路以及代码正确思路,欢迎指点
634 0
CarbonData集成 Presto(Trino)(2)- 运行排错篇
|
SQL 存储 分布式计算
CarbonData集成 Presto(Trino)(1)- 介绍 & 环境篇
有幸在开源之夏选上课题基于CarbonData 之 Presto 优化课题,这个课题主要是针对Presto使用CarbonData查询上做更多的一些优化。这个课题对于我来说十分有挑战点,涉及大数据领域的组件十分多,首先CarbonData作为大数据的一种文件存储格式,在OLAP计算引擎上的查询加速实现有助于数据更快的查询和产出;其次大数据涉及的组件和版本比较广泛,在测试、兼容各种方面带来的挑战会很多,例如Hadoop、Spark、Presto(Trino)、Hive等多个开源大数据组件的协同运行和调试,给项目的协同运行带来十分多挑战,文章会详细介绍我此次搭建流程
1060 0