Apache CarbonData 2.0 开发实用系列之三:与Presto SQL集成使用

网友投稿 738 2022-05-30

【内容提要】

本文介绍如何使用presto sql查询在spark中已生成的carbondata表

【创建carbondata表】

使用Spark SQL创建carbondata表并入库数据

请参考[Apache CarbonData 2.0 开发实用系列之一:与Spark SQL集成使用](https://bbs.huaweicloud.com/blogs/169357)

【准备Hadoop】

请参考[Apache CarbonData 2.0 开发实用系列之二:与Hive集成使用](https://bbs.huaweicloud.com/blogs/170472)

【准备hive metastore】

1. 下载hive 1.2.2并解压

https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-1.2.2/apache-hive-1.2.2-bin.tar.gz

2. 升级derby

拷贝SPARK_HOME/jars/derby-10.12.1.1.jar覆盖derby-10.10.2.0.jar

3. 修改配置

hive-site.xml

4. 启动metastore

export HADOOP_HOME=/opt/bigdata/hadoop-2.7.7 ./hive --service metastore

【准备carbon依赖包】

git clone https://github.com/apache/carbondata.git cd carbondata mvn -DskipTests -Pspark-2.4 -Pprestosql clean package

【准备presto】

1. 下载presto-server-316.tar.gz

下载页面:https://repo1.maven.org/maven2/io/prestosql/presto-server/316/

2. 配置presto

Apache CarbonData 2.0 开发实用系列之三:与Presto SQL集成使用

参考文档:https://github.com/apache/carbondata/blob/master/docs/prestosql-guide.md#presto-single-node-setup-for-carbondata

或者解压附件etc.zip后,拷贝到$PRESTO_HOME/etc

3. 部署carbondata

$PRESTO_HOME/plugin下创建carbondata目录,拷贝carbondata/integration/presto/target/carbondata-presto-x.x.x-SNAPSHOT下所有jars包至$PRESTO_HOME/plugin/carbondata

4 启动presto sql

bin/launcher start

5. 下载并启动presto CLI

链接地址:https://repo1.maven.org/maven2/io/prestosql/presto-cli/316/presto-cli-316-executable.jar

启动CLI

java -jar presto-cli-316-.jar --server localhost:8086 --catalog carbondata --schema carbondb

输入show tables后系统报错,

Query 20200831_084250_00002_9u6tk failed: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.reflect.UndeclaredThrowableException

presto server日志信息如下:

Caused by: NoSuchObjectException(message:information_schema.tables table not found)

at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_table_result$get_table_resultStandardScheme.read(ThriftHiveMetastore.java)

at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_table_result$get_table_resultStandardScheme.read(ThriftHiveMetastore.java)

at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_table_result.read(ThriftHiveMetastore.java)

at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:86)

at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_get_table(ThriftHiveMetastore.java:1993)

at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_table(ThriftHiveMetastore.java:1979)

... 74 more

未完待续, 修复后更新......

附件: etc.zip 1.65KB 下载次数:1次

EI企业智能 智能数据 表格存储服务 CloudTable

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《敏 捷 教 练:如何打造优秀的敏捷团队》—6 理解构建目标
下一篇:TensorFlow2.0的架构
相关文章