cdh上使用spark-thriftserver操作carbondata

carbondata 是一种新型的适用于分布式计算的列式文件格式,本次使用spark-thrift方式来操作carbondata,简略介绍如何启动spark-carbondata-thriftserver。

版本

  • cdh 5.10.3
  • spark 2.1.0
  • carbondata 1.2.0

下载

carbondata 编译

编译环境为: jdk-1.8.0_151,maven-3.5.2(低版本的没试过,但是官方说最低:jdk7,maven3.3)

unzip apache-carbondata-1.2.0-source-release.zip
cd carbondata-parent-1.2.0
mvn -DskipTests -Pspark-2.1 -Dspark.version=2.1.0 clean package

编译成功后,会在carbondata-parent-1.2.0/assembly/target/scala-2.11/目录下出现carbondata_2.11-1.2.0-shade-hadoop2.2.0.jar(编译版本不同,jar包名称可能不一样)

启动步骤

NOTE:
1.下面的命令中,hdfs的/carbondata目录如果启动用户没有创建权限,需要用hdfs用户去创建并用chmod 命令给与用户权限读写权限。
2.启动节点不要与hiveServer2服务同节点以防止端口冲突(我目前还没找到更改该thriftserver端口的方式)。

tar -zxvf spark-2.1.0-bin-hadoop2.6.tgz
cd spark-2.1.0-bin-hadoop2.6
cp /etc/hive/conf/hive-site.xml conf #可以读取到hive的表
cp conf/spark-env.sh.template conf/spark-env.sh
vi conf/spark-env.sh
添加:
export HADOOP_CONF_DIR=/etc/hadoop/conf
export YARN_CONF_DIR=/etc/hadoop/conf.cloudera.yarn/

mkdir carbondata_lib
#将carbondata_2.11-1.2.0-shade-hadoop2.2.0.jar拷贝到 carbondata_lib目录下,如果需要设置carbondata参数,需要将carbondata-parent-1.2.0/conf目录下的carbon.properties.template文件重命名为carbon.properties并拷贝到spark-2.1.0-bin-hadoop2.6/conf目录下即可
cd bin
#启动命令为:
./spark-submit \
–master yarn \
–deploy-mode client \
–conf spark.sql.hive.thriftServer.singleSession=true \
–class org.apache.carbondata.spark.thriftserver.CarbonThriftServer \
../carbondata_lib/carbondata_2.11-1.2.0-shade-hadoop2.2.0.jar \
hdfs://[namenodeIP]:8020/carbondata

thriftServer使用

beeline -u jdbc:hive2://[启动节点ip]:10000 -n 用户名称

后记

个人认为这种方式去操作carbondata是最好的方式,用jdbc的方式毕竟是最方便的。
spark-sql和spark-shell都可以去操作,同一个版本不同的操作方式有可能出现支持的operation不同的情况。
如果资源很多的情况下,可以先调节spark的参数启动好container,让sql任务可以尽快的使用到资源,如果多个应用程序同时使用一个yarn资源,可以采用spark的动态分配,需要使用到资源时才开始请求资源,建立container。

如有问题请指正,谢谢。

Spark-ThriftSpark-SQL是Spark框架中的两个组件,它们有以下区别: 1. Spark-SQL是Spark的一个模块,用于处理结构化数据,支持SQL查询和DataFrame API。它提供了一种高效且易于使用的方法来处理和分析结构化数据。用户可以使用SQL语句或DataFrame API来查询和操作数据。Spark-SQL允许用户直接在Spark应用程序中使用SQL查询,而无需编写复杂的MapReduce代码。 2. Spark-ThriftSpark的一个独立服务,它提供了一个标准的Thrift接口,用于执行SQL查询。它可以作为一个独立的进程运行,并通过网络接收来自客户端的SQL查询请求,并将查询转发到Spark集群中的Spark-SQL模块进行处理。Spark-Thrift使得可以使用不同的编程语言,如Java、Python、R等,通过Thrift接口与Spark集群交互。 因此,Spark-SQL是Spark框架中用于处理结构化数据的模块,而Spark-Thrift是提供Thrift接口让用户可以使用不同编程语言与Spark-SQL模块交互的独立服务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [CDH15.0支持spark-sql和spark-thrift-server](https://blog.csdn.net/u012458821/article/details/87635599)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [122.Thriftspark-sql客户端部署](https://blog.csdn.net/m0_47454596/article/details/126856172)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值