使用程序访问数据库
方舟不仅提供 Kafka订阅数据的方式,还提供了更加高效、稳定的 SQL 查询方式,即直接使用 JDBC、presto-cli、python 或 R 进行数据查询。
JDBC
JDBC 信息
字段
信息
jdbc url
jdbc:presto://ark2.analysys.xyz:4285/hive/default
driver
com.facebook.presto.jdbc.PrestoDriver
user
daxiang
SSL
true
password
编辑 /etc/presto/presto-auth.properties 文件查看
SSLKeyStorePath
presto.jks文件的路径,一般是/etc/presto/presto.jks
SSLKeyStorePassword
值可以在单机环境的ark1,集群环境的ark2的/etc/presto/config.properties文件中找到,对应http-server.https.keystore.key的值
presto-jdbc.jar的下载地址:https://jar-download.com/artifacts/com.facebook.presto/presto-jdbc/0.201
如果使用代码访问,可以直接通过maven添加presto-jdbc的依赖,Maven 的依赖定义如下:
<dependency>
<groupId>com.facebook.presto</groupId>
<artifactId>presto-jdbc</artifactId>
<version>0.201</version>
</dependency>presto-shell
除了直接使用 JDBC 接口之外,也可以直接适用 presto-shell 工具进行查询。
直接登陆任意的方舟服务器,运行以下命令即可:
查询用户信息数据
查看用户信息表的表结构
查询用户信息数据
其中{appid}为要查询的appid
查询用户行为数据
查看用户行为表的表结构
查询用户行为数据
其中{appid}为要查询的appid
数据导出
导出不包含表头的CSV格式的文件
{appid}为要查询项目的appid
dataFile.CSV为导出的文件路径
导出包含表头的CSV格式的文件
{appid}为要查询项目的appid
dataFile.CSV为导出的文件路径
数据第一行为表头
导出不包含表头的TSV格式的文件–没有表头
{appid}为要查询项目的appid
dataFile.CSV为导出的文件路径
字段间以tab键分割
导出包含表头的TSV格式的文件
{appid}为要查询项目的appid
dataFile.CSV为导出的文件路径
数据第一行为表头,字段间以tab键分割
其他格式,请参考 presto-cli --help 命令中--output-format 选项的说明。
Python
如果你更熟悉 python,也可以通过 presto-python-client 来对数据库进行访问。
连接方法
R
可以尝试使用开源项目 https://github.com/prestodb/RPresto 来对数据库进行访问。
Metabase
Metabase 是类似 HUE(自定义查询) 的开源查询界面,如果你想直接通过 SQL 查询,而不想用 HUE 的话也可以用它直接连接方舟的 Presto。
下载地址:https://www.metabase.com/

配置参数说明
Name:自定义数据源名称,方便后续识别
Host:方舟 Presto 的服务器IP,一般为内网IP( 如何查找?登录Ambari ——点击Presto ——点击Presto coordinator 找到想要查找数据的服务器)

Port:8285 (固定值)
Database Name:hive (固定值,注意全部小写字母)
Database username: streaming (固定值)
下方的三个开关保持默认,点击底部的确认按钮即可完成连接配置。
若确认后看不到数据表,请关闭 Metabase 重新进入
最后更新于
这有帮助吗?