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可以看这个

相关文章
|
存储 缓存 固态存储
存储性能的关键指标:IOPS与吞吐量详解
【4月更文挑战第21天】
3625 0
|
人工智能 Cloud Native 安全
统一多层网关好处多,阿里云云原生 API 网关打造全能型网关
本文分享了作为一款全能型网关【云原生 API 网关】是如何帮助企业落地统一网关架构的。
8630 102
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能在客服领域有哪些应用?
人工智能正在彻底改变着传统客服行业,它不仅拓展了业务边界,还推动着整个行业向更高效、更人性化方向迈进。
366 7
|
机器学习/深度学习 存储 人工智能
【AI 初识】人工智能中使用了哪些不同的搜索算法?
【5月更文挑战第2天】【AI 初识】人工智能中使用了哪些不同的搜索算法?
|
11月前
|
编译器
【项目开发】QT简单练习之QQ登录界面模仿
为了进一步加深对QT开发的理解,在学习完基础操作之后要进行一个简单的练习。
215 1
|
11月前
|
机器学习/深度学习 Python
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
本篇将详细介绍如何在Mac系统上安装和配置Anaconda,如何创建虚拟环境,并学习如何使用 `pip` 和 `conda` 管理Python包,直到成功运行第一个Python程序。通过本篇,您将学会如何高效地使用Anaconda创建和管理虚拟环境,并使用Python开发。
336 4
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
|
SQL 数据管理 数据库
|
Java
java: 警告: 源发行版 11 需要目标发行版 11”错误解决(解决方案整合)
java: 警告: 源发行版 11 需要目标发行版 11”错误解决(解决方案整合)
3246 0
|
算法 搜索推荐
信息流短视频时长多目标优化
背景       信息流短视频排序目前使用的是基于CTR预估Wide&Deep排序模型。在此基础上继续一系列优化,通过引入相关性信号、体感信号、多场景的样本融合、高层排序模型取得了不错收益。       信息流短视频模型优化可分为两部分优化: 感知相关性优化——点击模型以优化(CTR/CLICK为
8111 0
|
编译器 C++ Windows
C/C++ 静态库(lib)的概念和使用方法
C/C++ 静态库(lib)的概念和使用方法
1071 0