一. 前言:
prestodb是通过on spark的方式对批查询进行支持的。prestodb on spark的设计文档可以参考:
https://docs.google.com/document/d/1aURQWDY1NJZ7xPS6jnsFcQY7pOIqHGkHzJrcPu-42Tk/
本文主要对prestodb on spark 功能进行实践测试。
二. 准备步骤
-
启动hadoop
? ? ? 执行hadoop-3.1.3/sbin/start-all.sh 启动即可。
? ? ?2. 启动spark
? ? ? 执行spark-2.4.8-bin-hadoop2.6/sbin/start-all.sh即可。
三. 准备presto On Spark 相关的包
可以参考官方文档:
Executing Presto on Spark — Presto 0.272.1 Documentation
需要准备的jar包包括:
-
presto-spark-launcher-0.2xxx-SNAPSHOT.jar -
presto-spark-package-0.2xxx-SNAPSHOT.tar.gz
四, 运行测试
执行
spark-submit \
--master spark://192.168.1.160:7077 \
--executor-cores 4 \
--conf spark.task.cpus=4 \
--class com.facebook.presto.spark.launcher.PrestoSparkLauncher \
/home/Bidata/prestodb/presto-spark-launcher-0.273-SNAPSHOT.jar \
--package /home/Bidata/prestodb/presto-spark-package-0.273-SNAPSHOT.tar.gz \
--config /home/Bidata/prestodb/etc/config.properties \
--catalogs /home/Bidata/prestodb/etc/catalog \
--catalog hive \
--schema db1 \
--file /home/Bidata/prestodb/query.sql
即可。
可以看到presto 在 spark中运行:
五. 总结
-
presto on spark是将整个presto打包成一个tar包放在spark中executor启动运行的。 -
presto on spark启动后,无交互式的操作界面,只能通过文件形式在启动前传递进去。
|