资讯专栏INFORMATION COLUMN

Severless SQL on OSS 实验(DataLakeAnalytics on OSS)

jimhs / 1834人阅读

摘要:摘要数据存储在后,可以有多种方式查询分析数据,如自建阿里云以及社区官方已支持使用等。注意同一个阿里云,名全局唯一,建议根据业务定义,已有重名,在创建时会提示报错,则请换一个名字。

摘要: 数据存储在OSS后,可以有多种方式查询分析OSS数据,如自建Spark/Presto/Impala(阿里云EMR以及Hadoop社区官方已支持OSS), 使用MaxCompute、DataLakeAnalytics等。

基于OSS的数据查询分析
数据存储在OSS后,有多种查询分析的方法,包括阿里云MaxCompute、DataLakeAnalytics产品等Severless查询分析服务,也可以自建Spark、Presto、Imapla应用来分析OSS上的数据。

实验步骤(DataLakeAnalytics on OSS)
本次实验,主要介绍实验DataLakeAnalytics如何Severless地查询分析OSS上的数据。

服务开通
OSS服务:
1.开通OSS服务https://www.aliyun.com/produc...

DataLakeAnalytics服务:
1.申请DataLakeAnalytics的试用资格
备注:目前DataLakeAnalytics公测中,需提交公测申请,开通试用。

操作步骤
准备数据
登录控制台, 并创建目录

请创建华东1区域的OSS测试Bucket(目前DataLakeAnalytics产品公测区域为华东1)。

备注:Bucket名称是全局唯一,如果提示名称已存在,请更换一个Bucket名称。

创建目录(建议目录如下):
创建目录workshop_sh/trade, workshop_sh/user

下载模拟数据(该数据本次实验的模拟数据)
http://testdatasample.oss-cn-...

将下载的将交易记录和开户信息数据,分别上传到trade、user目录

登录Data Lake Analytics控制台
点击“登录数据库”,输入开通服务时分配的用户名和密码,登录Data Lake Analytics控制台。

公测期间的分配的用户名、密码,开通服务的消息中可以查看

创建Schema和Table
创建Schema
输入创建SCHEMA的语句,点击“同步执行”。

CREATE SCHEMA sh_trade
CREATE SCHEMA sh_trade

(注意:同一个阿里云region,schema名全局唯一,建议根据业务定义,已有重名schema,在创建时会提示报错,则请换一个schema名字。)

创建表
在“数据库”的下拉框中,选择刚刚创建的schema。
然后在SQL文本框中输入建表语句如下,并点击同步执行。其中,Location替换为您的Bucket和测试数据的路径

1.创建交易记录表:
说明:LOCATION "oss://Bucket名称/交易记录表目录/"
实验中,替换LOCATION "oss://您的OSS存储空间名称/workshop_sh/user/"。如:oss://workshopsh20180608100/workshop_sh/user

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://testdatasample/workshop_sh/trade/";

2.创建开户信息表:
说明:LOCATION "oss://Bucket名称/开户信息表目录/"
实验中,替换LOCATION "oss://您的OSS存储空间名称/workshop_sh/user/"。 如:oss://workshopsh20180608100/workshop_sh/user

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://testdatasample/workshop_sh/user/";

3.建表完毕后,刷新页面,在左边导航条中能看到schema下的2张表

SQL查询(同步执行)
1.查询交易机构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;

显示执行结果

2.查询各城市、男性女性人群,购买的基金总额(多表Join查询)

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;

SQL查询(异步执行)
异步执行查询,将查询结果,以CSV格式,输出到OSS上

点击“执行状态”,可看到该异步查询任务的执行状态
主要分为:“RUNNING”,“SUCCESS”,“FAILURE”。
点击“刷新”,当STATUS变为“SUCCESS”时,可以查看到查询结果输出到OSS的文件路径。

查看导出OSS的结果文件

实验耗费
OSS存储的费用
原文链接

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/32289.html

相关文章

  • 树莓派+阿里云IoT人脸识别场景实战

    摘要:整体架构基于阿里云的架构运行效果阿里云产品平台函数计算表格存储存储人脸识别设备采购名称图片购买摄像头淘宝树莓派淘宝树莓派设备端开发目录结构在目录下创建文件夹,在创建文件夹,配置文件文件程序安装依赖 1.整体架构 基于阿里云的Serverless架构 showImg(https://cdn.nlark.com/yuque/0/2018/png/106007/1534494218326-d...

    BicycleWarrior 评论0 收藏0
  • 容器开启数据服务之旅系列(二):Kubernetes如何助力Spark大数据分析

    摘要:容器开启数据服务之旅系列二如何助力大数据分析二如何助力大数据分析概述本文为大家介绍一种容器化的数据服务,允许分布式计算节点对阿里云对象存储的直接访问。 摘要: 容器开启数据服务之旅系列(二):Kubernetes如何助力Spark大数据分析 (二):Kubernetes如何助力Spark大数据分析 概述 本文为大家介绍一种容器化的数据服务Spark + OSS on ACK,允许Spa...

    233jl 评论0 收藏0
  • 微信公众号图片上传至阿里云OSS

    摘要:最近在做微信公众号,需要将图片上传至阿里云。利用模块将图片写到内存微信多媒体文件文件路径图片上传阿里云结果上传文件出错这种方式将图片暂存在内存里面,那如果并发量很大,是不是内存要爆炸了都感觉还是不可取。 最近在做微信公众号,需要将图片上传至阿里云OSS。在做这个功能的过程中,我走了不少弯路,尝试过很多种方法,最后终于研究出一种便捷优美的方式。现在把这些方法和思路记录下来,避免遗忘。 一...

    whatsns 评论0 收藏0
  • 利用阿里云 OSS 搭建私有 Docker 仓库

    摘要:前言最近开始研究的应用,于是打算搭建一个私有的仓库,并使用阿里云的作为存储引擎。登陆成功后,执行以下命令即可上传配置阿里云首先在刚才执行的命令行窗口中按退出服务。待上传完毕,可以打开阿里云的控制台界面检查文件是否被正确上传上去了。 前言 最近开始研究 Docker 的应用,于是打算 搭建一个私有的 Docker 仓库,并使用阿里云的 OSS 作为存储引擎 。从网上搜索到的资料大都是比较...

    lovXin 评论0 收藏0
  • 利用阿里云 OSS 搭建私有 Docker 仓库

    摘要:前言最近开始研究的应用,于是打算搭建一个私有的仓库,并使用阿里云的作为存储引擎。登陆成功后,执行以下命令即可上传配置阿里云首先在刚才执行的命令行窗口中按退出服务。待上传完毕,可以打开阿里云的控制台界面检查文件是否被正确上传上去了。 前言 最近开始研究 Docker 的应用,于是打算 搭建一个私有的 Docker 仓库,并使用阿里云的 OSS 作为存储引擎 。从网上搜索到的资料大都是比较...

    haoguo 评论0 收藏0

发表评论

0条评论

jimhs

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<