方舟智能分析
产品功能SDK指南API
  • 产品简介
  • 快速上手
    • Step 1 安装部署
    • Step 2 激活系统创建项目
    • Step 3 开启您的分析旅程
      • 1. 集成 SDK
      • 2. 可视化埋点
      • 3. 创建分析模型
    • 附:埋点方案设计
    • 附:数据分析思路
  • 产品更新日志
    • V5.3.3 UI 升级、分布分析重构、维度表动态更新、细节优化等
    • V5.2.0 新增归因分析、消息中心、重构埋点方案、优化看数据体验……
    • V5.1.0317 体验优化& Bug修复
    • V5.1.0 升级可视化埋点、增强权限控制……
  • 我要反馈
  • 🐱Part I 产品功能说明
    • 名词解释
    • 指标说明
    • 看板
    • 分析
      • 事件分析
      • 渠道分析
        • 渠道相关名词解释
        • 来源识别规则
        • 搜索引擎
        • 社交媒体
        • 小程序场景值
        • Session 规则
      • Session 分析
      • 实时分析
      • 留存分析
      • 转化漏斗
      • 智能路径
      • 归因分析(Beta)
      • 热图分析
        • Web/H5 热图
        • APP 热图
      • 分布分析
      • 间隔分析
      • 属性分析
      • 自定义查询
    • 用户
      • 用户探查
      • 用户分群
      • 用户标签
        • 标签体系
        • 标签加工
          • 如何自定义SQL创建标签
        • 标签生命周期管理
        • 标签体系应用概览
      • 单用户档案
    • 运营
      • 电子邮件
      • 短信
      • 消息通知
      • 广告跟踪
      • App 推广监测(Beta)
    • 项目管理
      • 项目概览
      • 项目角色管理
      • 项目成员管理
      • 数据接入管理
        • 埋点方案
        • 可视化埋点
        • 集成SDK接入数据
        • 数据验证
        • 用户数据导入
      • 元数据管理
        • 元事件
        • 虚拟事件
        • 事件属性
        • 用户属性
        • Session 管理
        • 页面组管理
        • 维度表
      • 服务集成配置
      • 监控告警
        • 智能监控
        • 自定义监控
    • 平台管理
      • 企业概览
      • 项目管理
      • 成员管理
      • 安全设置
      • 企业设置
      • 日志管理
      • 帐号设置
  • 🐵Part II 技术文档
    • 技术接入准备工作
      • 部署环境检测工具
      • 数据模型
      • 数据格式
      • 预置事件和属性
        • App预置事件/属性
        • JS 预置事件/属性
      • 如何准确识别用户
      • 如何设计埋点方案
      • 分平台上报数据 vs 跨平台打通
    • SDK 指南
      • Android SDK
        • 快速集成
        • 全埋点模块
        • 消息推送模块
        • Android Hybrid模式
        • SDK Gradle集成方式
        • 多渠道打包
        • 易观小工具
        • 合规相关
      • iOS SDK
        • 快速集成
        • 全埋点介绍
        • iOS Hybrid模式
        • 消息推送模块
      • JS SDK
        • 快速集成
        • JS SDK基础版
        • JS SDK插件
      • 微信小程序 SDK
        • 快速集成
        • 微信小程序标准版
        • 微信小程序插件版
        • 微信小程序通用框架版
      • 支付宝小程序 SDK
        • 支付宝小程序标准版
        • 支付宝小程序通用框架版
      • 字节跳动小程序 SDK
        • 字节跳动小程序标准版
        • 字节跳动小程序通用框架版
      • 百度小程序 SDK
        • 百度小程序标准版
        • 百度小程序通用框架版
      • 钉钉小程序 SDK
        • 钉钉小程序标准版
        • 钉钉小程序通用框架版
      • QQ小程序 SDK
        • QQ小程序标准版
        • QQ小程序通用框架版
      • 快应用 SDK
      • 华为WeCode小程序
        • WeCode SDK 标准版
        • WeCode SDK插件
      • PhoneGap SDK
      • mPaaS SDK
      • ReactNative SDK
      • Flutter SDK
      • Java SDK
      • Python SDK
      • PHP SDK
      • C++ SDK
      • C# SDK
      • Node JS SDK
      • Lua SDK
      • Golang SDK
      • SDK FAQ
        • identify与alias的区别
        • 爬虫数据如何识别?
        • 页面停留如何获取时间?
        • 如果获取SDK及更新日志
        • 代码埋点和无埋点有什么区别
        • Web页面中发现丢失某一个事件
        • 自研 SDK 注意事项
        • 页面时长统计功能
    • 数据验证
      • 客户端埋点验证
      • Debug 数据验证
      • 数据入库验证
    • 数据导入
      • 接口导入
      • JAVA工具包
        • 标准json文件导入
        • csv格式导入
      • 数据导入FAQ
    • 数据导出
      • JAVA工具包
        • 事件数据导出
        • 用户数据导出
      • 直接从Kafka中消费数据
      • 使用程序访问数据库
    • 脚本工具
    • API
      • 分析API
        • 事件分析
        • 留存分析
        • 转化漏斗
        • 属性分析
        • Session分析
        • 渠道分析
        • 分布分析
        • 自定义查询
      • 用户API
        • 分群查询
        • 用户档案
        • 分群管理
      • 管理API
        • 权限管理
        • 元数据管理
        • 埋点方案管理
        • 维度表管理
      • 运营API
        • 广告跟踪
      • 平台管理API
        • 项目管理
        • 成员管理
    • 第三方登录
      • OAuth2.0登录
      • LDAP登录
    • GDPR 合规
  • �� Part III 常见问题
    • License 许可
    • 产品试用及采购
    • 参与贡献
由 GitBook 提供支持
在本页
  • JDBC
  • presto-shell
  • 查询用户信息数据
  • 查询用户行为数据
  • 数据导出
  • Python
  • 连接方法
  • R
  • Metabase

这有帮助吗?

  1. Part II 技术文档
  2. 数据导出

使用程序访问数据库

方舟不仅提供 Kafka订阅数据的方式,还提供了更加高效、稳定的 SQL 查询方式,即直接使用 JDBC、presto-cli、python 或 R 进行数据查询。

上一页直接从Kafka中消费数据下一页脚本工具

最后更新于4年前

这有帮助吗?

使用程序直接进行数据访问涉及较多的技术细节,适用于对相关功能有经验的用户参考。如果对文档内容有疑惑,请及时联系工作人员。

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的下载地址:

如果使用代码访问,可以直接通过maven添加presto-jdbc的依赖,Maven 的依赖定义如下:

<dependency>
    <groupId>com.facebook.presto</groupId>
    <artifactId>presto-jdbc</artifactId>
    <version>0.201</version>
</dependency>
示例代码:
Properties properties = new Properties();
properties.setProperty("user" , Config.prestoUsername);
properties.setProperty("password" , Config.prestoPassword);
properties.setProperty("SSL" , "true");
System.out.println(Config.class.getClassLoader().getResource("presto.jks").getPath());
properties.setProperty("SSLKeyStorePath" , Config.class.getClassLoader().getResource("presto.jks").getPath());
properties.setProperty("SSLKeyStorePassword" , Config.prestoSSLKeyStorePassword);
Connection conn = null;
try {
   Class.forName(driver);
} catch (ClassNotFoundException e) {
   logger.error(ExceptionUtil.getMessage(e));
 throw new RuntimeException("找不到jdbc驱动类", e);
}
conn = DriverManager.getConnection(url, parameter);
return conn;

presto-shell

除了直接使用 JDBC 接口之外,也可以直接适用 presto-shell 工具进行查询。

直接登陆任意的方舟服务器,运行以下命令即可:

#presto必须使用isuhadoop用户来连接
#集群环境
su - isuhadoop
bin/presto-cli --server ark2:8285

#单机环境
su - isuhadoop
bin/presto-cli --server ark1:8285

查询用户信息数据

查看用户信息表的表结构

show create view hive.db_appid.profile_vd

查询用户信息数据

select * from hive.db_appid.profile_vd limit 10

其中{appid}为要查询的appid

查询用户行为数据

查看用户行为表的表结构

desc hive.db_appid.event_vd

查询用户行为数据

select * from hive.db_appid.event_vd limit 10

其中{appid}为要查询的appid

数据导出

导出不包含表头的CSV格式的文件

#集群环境
presto-cli --server ark2:8285 --execute 'select * from hive.db_{appid}.event_vd limit 10' --output-format CSV > dataFile.CSV
presto-cli --server ark2:8285 --execute 'select * from chbase.db_{appid}.profile limit 10' --output-format CSV > dataFile.CSV

#单机环境
presto-cli --server ark1:8285 --execute 'select * from hive.db_{appid}.event_vd limit 10' --output-format CSV > dataFile.CSV
presto-cli --server ark1:8285 --execute 'select * from chbase.db_{appid}.profile limit 10' --output-format CSV > dataFile.CSV

{appid}为要查询项目的appid

dataFile.CSV为导出的文件路径

导出包含表头的CSV格式的文件

#集群环境
presto-cli --server ark2:8285 --execute 'select * from hive.db_{appid}.event_vd limit 10' --output-format CSV_HEADER > dataFile.CSV_HEADER
presto-cli --server ark2:8285 --execute 'select * from chbase.db_{appid}.profile limit 10' --output-format CSV_HEADER > dataFile. CSV_HEADER

#单机环境
presto-cli --server ark1:8285 --execute 'select * from hive.db_{appid}.event_vd limit 10' --output-format CSV_HEADER > dataFile.CSV_HEADER
presto-cli --server ark1:8285 --execute 'select * from chbase.db_{appid}.profile limit 10' --output-format CSV_HEADER > dataFile. CSV_HEADER

{appid}为要查询项目的appid

dataFile.CSV为导出的文件路径

数据第一行为表头

导出不包含表头的TSV格式的文件–没有表头

presto-cli --server ark2:8285 --execute 'select * from hive.db_{appid}.event_vd limit 10' --output-format TSV > dataFile.TSV
presto-cli --server ark2:8285 --execute 'select * from chbase.db_{appid}.profile limit 10' --output-format TSV > dataFile. TSV

{appid}为要查询项目的appid

dataFile.CSV为导出的文件路径

字段间以tab键分割

导出包含表头的TSV格式的文件

presto-cli --server ark2:8285 --execute 'select * from hive.db_{appid}.event_vd limit 10' --output-format TSV_HEADER > dataFile.TSV_HEADER
presto-cli --server ark2:8285 --execute 'select * from chbase.db_{appid}.profile limit 10' --output-format TSV_HEADER > dataFile.TSV_HEADER

{appid}为要查询项目的appid

dataFile.CSV为导出的文件路径

数据第一行为表头,字段间以tab键分割

其他格式,请参考 presto-cli --help 命令中--output-format 选项的说明。

Python

连接方法

import prestodb
conn=prestodb.dbapi.connect(
        host='ip address of ark2',
        port=8285,
        user='daxiang',
        catalog='hive',
        schema='db_{appkey}',
)
cur = conn.cursor()
cur.execute('SELECT * FROM event_vd limit 10')
rows = cur.fetchall()
print rows

R

Metabase

Metabase 是类似 HUE(自定义查询) 的开源查询界面,如果你想直接通过 SQL 查询,而不想用 HUE 的话也可以用它直接连接方舟的 Presto。

配置参数说明

Name:自定义数据源名称,方便后续识别

Host:方舟 Presto 的服务器IP,一般为内网IP( 如何查找?登录Ambari ——点击Presto ——点击Presto coordinator 找到想要查找数据的服务器)

Port:8285 (固定值)

Database Name:hive (固定值,注意全部小写字母)

Database username: streaming (固定值)

下方的三个开关保持默认,点击底部的确认按钮即可完成连接配置。

若确认后看不到数据表,请关闭 Metabase 重新进入

如果你更熟悉 python,也可以通过 来对数据库进行访问。

可以尝试使用开源项目 来对数据库进行访问。

下载地址:

以上内容没有解答我的问题? 🚀

🐵
https://jar-download.com/artifacts/com.facebook.presto/presto-jdbc/0.201
presto-python-client
https://github.com/prestodb/RPresto
https://www.metabase.com/
点击我进入方舟论坛去反馈