使⽤presto查询同步到hive的hudi数据
要完成如下任务,请确保已经使⽤其他⽅法将hudi数据同步到hive中。
如果没有同步hive数据,可参考⽂章:,并且,以下内容中的presto查询,即是基于上述参考⽂章所同步的hive表进⾏查询的,建议可先阅读上述参考⽂章。
以下presto安装以单节点为例。
presto 0.261下载
下载presto-server和presto-cli
mkdir /data
mkdir /data/presto-cli
cd /data
wget /maven2/com/facebook/presto/presto-server/0.261/presto-server-0.
wget /maven2/com/facebook/presto/presto-cli/0.261/presto-cli-0.261-executable.jar
cp presto-cli-0.261-executable.jar /data/presto-cli
chmod +x /data/presto-cli/presto-cli-0.261-executable.jar
ln -s /data/presto-cli/presto-cli-0.261-executable.jar /data/presto-cli/presto
tar zxvf presto-server-0.
ln -s /data/presto-server-0.261 /data/presto-server
⽬录如下:
presto配置
进⼊/data/presto-server⽬录下,执⾏如下操作:
新建etc⽬录以及配置⽂件:
cd /data/presto-server
mkdir data
mkdir etc
cd etc
touch config.properties
fig
touch log.properties
touch node.properties
mkdir catalog
touch catalog/hive.properties
编辑配置⽂件:
vim config.properties
填⼊:
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8282
query.max-memory=5GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
discovery.uri=hadoop1:8282
上述配置项为presto-server配置信息,同时将coordinator以及worker都集中在同⼀台主机。
fig
填⼊:
-server
thrift-Xmx8G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
上述配置项为presto-server jvm相关配置信息。
vim log.properties
填⼊:
com.facebook.presto = INFO
上述配置项为presto-server⽇志级别。
vim node.properties
填⼊:
node.id=presto1
node.data-dir=/data/presto-server/data
上述配置项为节点信息。
vim catalog/hive.properties
填⼊:
connector.name = hive-hadoop2
hive.parquet.use-column-names=true
上述配置项为hive连接信息,其中,
connector.name为hive connector名称
hive.parquet.use-column-names=true设置来解决presto读取parquet类型问题,必填项
presto server启动
启动命令如下:
/data/presto-server/bin/launcher start
启动之后,可以在/data/presto-server/data/var/log中看到相应的⽇志⽂件。
[root@hadoop1 presto-server]# ll /data/presto-server/data/var/log
total 3208
-rw-r--r--. 1 root root 1410243 Sep 27 07:07 http-request.log
-rw-r--r--. 1 root root    2715 Sep 27 05:44 launcher.log
-rw-r--r--. 1 root root 1867319 Sep 27 06:01 server.log
presto cli启动
/data/presto-cli/presto --server hadoop1:8282 --catalog hive --schema test
其中,schema表⽰库名。
⾄此,我们完成了presto安装与启动⼯作,接下来就可以对hive中的数据进⾏查询。
使⽤presto查询cow表
⾸先确保,你已经通过其他⽅式,将hudi COW表同步到hudi中,如果没有相关同步,可参考⽂章:本⽂在参考⽂章基础上进⾏,所查询的表也是基于上述参考⽂章导⼊的表数据。
执⾏如下查询操作:
select count(*)from stu_tmp_1;
select*from stu_tmp_1 limit10;
select name from stu_tmp_1 group by name, school limit10;
得到如下结果:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。