Apache CarbonData 2.0 开发实用系列之三:与Presto SQL集成使用
【内容提要】
本文介绍如何使用presto sql查询在spark中已生成的carbondata表
【创建carbondata表】
使用Spark SQL创建carbondata表并入库数据
请参考[Apache CarbonData 2.0 开发实用系列之一:与Spark SQL集成使用](https://bbs.huaweicloud.cn/blogs/169357)
【准备Hadoop】
请参考[Apache CarbonData 2.0 开发实用系列之二:与Hive集成使用](https://bbs.huaweicloud.cn/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
或者解压附件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
未完待续, 修复后更新......
- 点赞
- 收藏
- 关注作者
评论(0)