本文档主要介绍如何使用OSS+DLA+Quick BI实现数据的存储、交互式查询分析、输出BI报表的整体数据处理流程。
步骤一:创建OSS Schema和表
在DLA中创建OSS Schema和表。示例如下:
//创建OSS Schema。
CREATE SCHEMA my_schema_name WITH DBPROPERTIES (
CATALOG = 'oss',
LOCATION = 'oss://bucket_name/workshop_sh/'
);
//创建交易记录表。
CREATE EXTERNAL TABLE tradelist_csv (
t_userid STRING COMMENT '用户ID',
t_dealdate STRING COMMENT '申请时间',
t_businflag STRING COMMENT '业务代码',
t_cdate STRING COMMENT '确认日期',
t_date STRING COMMENT '申请日期',
t_serialno STRING COMMENT'申请序号',
t_agencyno STRING COMMENT'销售商编号',
t_netno STRING COMMENT'网点编号',
t_fundacco STRING COMMENT'基金账号',
t_tradeacco STRING COMMENT'交易账号',
t_fundcode STRING COMMENT'基金代码',
t_sharetype STRING COMMENT'份额类别',
t_confirmbalance DOUBLE COMMENT'确认金额',
t_tradefare DOUBLE COMMENT'交易费',
t_backfare DOUBLE COMMENT'后收手续费',
t_otherfare1 DOUBLE COMMENT'其他费用1',
t_remark STRING COMMENT'备注'
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFIlE
LOCATION 'oss://bucket_name/workshop_sh/trade/';
//创建开户信息表。
CREATE EXTERNAL TABLE userinfo (
u_userid STRING COMMENT '用户ID',
u_accountdate STRING COMMENT '开户时间',
u_gender STRING COMMENT '性别',
u_age INT COMMENT '年龄',
u_risk_tolerance INT COMMENT '风险承受能力,1-10,10为最高级',
u_city STRING COMMENT'所在城市',
u_job STRING COMMENT'工作类别, A-K',
u_income DOUBLE COMMENT'年收入(万)'
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFIlE
LOCATION 'oss://bucket_name/workshop_sh/user/';
表创建成功后,可以执行SQL测试表数据是否正确。例如,查询交易机构SXS_0010,在0603至0604的100条交易记录。
SELECT * FROM tradelist_csv
WHERE t_cdate >= '2018-06-03' and t_cdate <= '2018-06-04' and t_agencyno = 'SXS_0010'
limit 100;
步骤二:添加DLA数据源
在Quick BI中添加DLA数据源,具体操作请参见云数据源Data Lake Analytics。
说明 在添加数据源之前,需要将IP地址
10.152.69.0/24,10.152.163.0/24,139.224.4.0/24
加入到DLA的白名单。否则,Quick BI无法成功连接DLA,数据源也将添加失败。
配置项 | 说明 |
---|---|
显示名称 | 可选项。为数据源设置一个名称,便于后续管理。 |
数据库地址 | DLA的连接地址,如何获取连接地址请参见创建服务访问点。 |
端口 | DLA连接地址对应的端口号。 |
数据库 | DLA中Schema的名字。 |
用户名 | DLA中的账号,详情请参见账号概览。 |
密码 | DLA中账号对应的密码。 |
步骤三:创建数据集
在Quick BI中创建数据集。具体操作请参见创建数据集。例如,查询各城市男性女性人群购买的基金总额(多表Join查询),数据集保存为citygender,数据源选择自定义SQL。示例如下:
SELECT u_city, u_gender, SUM(t_confirmbalance) AS sum_balance
FROM tradelist_csv , userinfo
where u_userid = t_userid
GROUP BY u_city, u_gender
ORDER BY sum_balance DESC;
步骤四:创建仪表板
接下来您可以根据需要在Quick BI中创建其他数据集、制作仪表盘。