0. Data Lake Analytics(简称DLA)介绍

数据湖(Data Lake)是时下热门的概念,更多阅读可以参考:
https://en.wikipedia.org/wiki/Data_lake
基于数据湖,可以不用做任何ETL、数据搬迁等过程,实现跨各种异构数据源进行大数据关联分析,从而极大的节省成本和提升用户体验。

以及AWS和Azure关于Data Lake的解读:
https://amazonaws-china.com/big-data/datalakes-and-analytics/what-is-a-data-lake/
https://azure.microsoft.com/en-us/solutions/data-lake/

终于,阿里云现在也有了自己的数据湖分析产品:https://www.aliyun.com/product/datalakeanalytics
可以点击申请使用(目前公测阶段还属于邀测模式),体验本教程分析OTS数据之旅。
产品文档:https://help.aliyun.com/product/70174.html

1. Table Store(简称OTS)介绍

关于Table Store的详细介绍,请看:https://help.aliyun.com/document_detail/27280.html

2. DLA和OTS等存储引擎间的关系

  • DLA是上层MPP架构的SQL执行引擎,以MySQL语法作为语法API而实现,解决实时OLAP分析需求;
  • OTS是下层数据存储引擎,基于LSM实现,与HBase、BigTable有类似的设计和实现;
  • DLA支持连接多种存储引擎,除了OTS,还有OSS、ADS、RDS等,并且这些引擎可以做实时混合分析;
  • DLA在计算一个Query时,通过OTS核心接口,查询下层数据并参与上层分析;
  • DLA是大小写不敏感的,而OTS是大小写敏感的;

3. OTS和DLA元信息映射逻辑

  • 库和表等概念映射
OTS概念 DLA概念
实例(instance) schema或database,不同的用户不同的叫法
表(table) table
主键列(pk) column,isPrimaryKey=true,isNullable=false
非主键列(column) column,isPrimaryKey=false,isNullable=<看用户的DDL定义>
  • 字段的映射关系
OTS DLA
INTEGER(8bytes) bigint(8bytes)
STRING varchar
BINARY varbinary
DOUBLE double
BOOLEAN byte

4. 购买OTS的实例,并写入数据

下面,我们开始真正的操作:

  • 开通OTS服务,并购买OTS实例:https://help.aliyun.com/document_detail/27293.html
  • 进入OTS的管理控制台,选择合适的region,创建实例和表:https://ots.console.aliyun.com/index
  • 当然,也可以选择通过SDK来创建表并写入数据:https://help.aliyun.com/document_detail/43005.html

5. 查看OTS的实例,获取关键信息

下面,我就以我们的测试数据,来开启整个过程(跳过具体的申请步骤):

1. 查看目前DLA已开通的Region,并确保与你的OTS在同一个Region:

2. 进入OTS管理控制台,选择杭州Region,查看我的实例(标准TPC-H生成的测试集,有8张表;已提前建好库表,并通过SDK写入了数据):

3. 查看实例信息,看到相关的__endpoint(DLA目前支持公网,所以请选择私网)__,这里以hz-tpch-1x-vol作测试:

4.查看nation表定义(表名、主键名、主键类型、多主键顺序等)和数据,用作后续对比测试:

6. 用户开通DLA账号步骤:

  • 用户具备了阿里云账号(主账号);
  • 用户进入产品介绍页,开通DLA并进入控制台:https://www.aliyun.com/product/datalakeanalytics
  • 等用户开通之后,会在你的短信、站内信、邮箱收到账号相关的信息(内容模板可能会升级):
  • 用户通过在页面上查看一下,得到如下的访问入口信息:
  • 如下是基于mysql/jdbc方式通过公网经典endpoint连接到dla杭州集群:
MySQL命令行:
mysql -h<您的DLA经典endpoint,在DLA的console上> -P10000 -u<dla_username> -p<dla_password> -c -AJDBC URL:
jdbc:mysql://<您的DLA经典endpoint,在DLA的console上>:10000/
username=<dla_username>
password=<dla_password>

7. DLA和OTS网络连通性问题

目前DLA和OTS服务之间,通过VPC相关的策略,是直接为用户打通网络环境的,用户无需担心这个过程。但DLA目前不支持公网访问,请__务必使用OTS的VPC Endpoint!__

8. 使用DLA,连接你的OTS,进行查询和分析

注:我们是多租户场景的,所以新用户刚进去时看不到任何库表;

1)创建自己的DLA库(相关信息从上述过程中查找):

mysql> create database hangzhou_ots_test with dbproperties (catalog = 'ots',location = 'https://hz-tpch-1x-vol.cn-hangzhou.vpc.tablestore.aliyuncs.com',instance = 'hz-tpch-1x-vol'
);Query OK, 0 rows affected (0.23 sec)#hangzhou_ots_test             ---请注意库名,允许字母、数字、下划线
#catalog = 'ots',              ---指定为ots,是为了区分其他数据源,比如oss、rds等
#location = 'https://xxx'      ---ots的endpoint,从实例上可以看到
#instance = 'hz-tpch-1x-vol'   ---指定instance名,因为endpoint可以不带实例名;最终映射到DLA的schema

2)查看自己创建的库:

mysql> show databases;
+------------------------------+
| Database                     |
+------------------------------+
| hangzhou_ots_test            |
+------------------------------+
1 rows in set (0.22 sec)mysql> show create database hangzhou_ots_test;
+-------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Database          | Create Database                                                                                                                                                                  |
+-------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| hangzhou_ots_test | CREATE DATABASE `hangzhou_ots_test`
WITH DBPROPERTIES (CATALOG = 'ots',LOCATION = 'https://hz-tpch-1x-vol.cn-hangzhou.vpc.tablestore.aliyuncs.com',INSTANCE = 'hz-tpch-1x-vol'
) |
+-------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.31 sec)

3)查看自己的DLA表:

mysql> use hangzhou_ots_test;
Database changedmysql> show tables;
Empty set (0.30 sec)

4)创建DLA表,映射到OTS的表:

mysql> CREATE EXTERNAL TABLE `nation` (`N_NATIONKEY` int not NULL ,`N_COMMENT` varchar(100) NULL ,`N_NAME` varchar(100) NULL ,`N_REGIONKEY` int NULL ,PRIMARY KEY (`N_NATIONKEY`)
);
Query OK, 0 rows affected (0.36 sec)## `N_NATIONKEY` int not NULL   ---- 如果是主键的话,必须要not null
## PRIMARY KEY (`N_NATIONKEY`)  ---- 务必与ots中的主键顺序相同;名称的话也要对应

5)查看自己创建的表和相关的DDL语句:

mysql> show tables;
+------------+
| Table_Name |
+------------+
| nation     |
+------------+
1 row in set (0.35 sec)mysql> show create table nation;
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table  | Create Table                                                                                                                                                                                                                                                                                                                                                         |
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| nation | CREATE EXTERNAL TABLE `nation` (`n_nationkey` int not NULL COMMENT '',`n_comment` varchar(100) NULL COMMENT '',`n_name` varchar(100) NULL COMMENT '',`n_regionkey` int NULL COMMENT '',PRIMARY KEY (`n_nationkey`)
)
TBLPROPERTIES (COLUMN_MAPPING = 'n_nationkey,N_NATIONKEY; n_comment,N_COMMENT; n_name,N_NAME; n_regionkey,N_REGIONKEY; ')
COMMENT '' |
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.30 sec)

6)开始查询和分析(没有做太复杂的query;用户可以分析自己的数据,符合mysql的语法)

mysql> select count(*) from nation;
+-------+
| count(*) |
+-------+
|    25 |
+-------+
1 row in set (1.19 sec)mysql> select * from nation;
+-------------+--------------------------------------------------------------------------------------------------------------------+----------------+-------------+
| n_nationkey | n_comment                                                                                                          | n_name         | n_regionkey |
+-------------+--------------------------------------------------------------------------------------------------------------------+----------------+-------------+
|           0 |  haggle. carefully final deposits detect slyly agai                                                                | ALGERIA        |           0 |
|           1 | al foxes promise slyly according to the regular accounts. bold requests alon                                       | ARGENTINA      |           1 |
|           2 | y alongside of the pending deposits. carefully special packages are about the ironic forges. slyly special         | BRAZIL         |           1 |
|           3 | eas hang ironic, silent packages. slyly regular packages are furiously over the tithes. fluffily bold              | CANADA         |           1 |
|           4 | y above the carefully unusual theodolites. final dugouts are quickly across the furiously regular d                | EGYPT          |           4 |
|           5 | ven packages wake quickly. regu                                                                                    | ETHIOPIA       |           0 |
|           6 | refully final requests. regular, ironi                                                                             | FRANCE         |           3 |
|           7 | l platelets. regular accounts x-ray: unusual, regular acco                                                         | GERMANY        |           3 |
|           8 | ss excuses cajole slyly across the packages. deposits print aroun                                                  | INDIA          |           2 |
|           9 |  slyly express asymptotes. regular deposits haggle slyly. carefully ironic hockey players sleep blithely. carefull | INDONESIA      |           2 |
|          10 | efully alongside of the slyly final dependencies.                                                                  | IRAN           |           4 |
|          11 | nic deposits boost atop the quickly final requests? quickly regula                                                 | IRAQ           |           4 |
|          12 | ously. final, express gifts cajole a                                                                               | JAPAN          |           2 |
|          13 | ic deposits are blithely about the carefully regular pa                                                            | JORDAN         |           4 |
|          14 |  pending excuses haggle furiously deposits. pending, express pinto beans wake fluffily past t                      | KENYA          |           0 |
|          15 | rns. blithely bold courts among the closely regular packages use furiously bold platelets?                         | MOROCCO        |           0 |
|          16 | s. ironic, unusual asymptotes wake blithely r                                                                      | MOZAMBIQUE     |           0 |
|          17 | platelets. blithely pending dependencies use fluffily across the even pinto beans. carefully silent accoun         | PERU           |           1 |
|          18 | c dependencies. furiously express notornis sleep slyly regular accounts. ideas sleep. depos                        | CHINA          |           2 |
|          19 | ular asymptotes are about the furious multipliers. express dependencies nag above the ironically ironic account    | ROMANIA        |           3 |
|          20 | ts. silent requests haggle. closely express packages sleep across the blithely                                     | SAUDI ARABIA   |           4 |
|          21 | hely enticingly express accounts. even, final                                                                      | VIETNAM        |           2 |
|          22 |  requests against the platelets use never according to the quickly regular pint                                    | RUSSIA         |           3 |
|          23 | eans boost carefully special requests. accounts are. carefull                                                      | UNITED KINGDOM |           3 |
|          24 | y final packages. slow foxes cajole quickly. quickly silent platelets breach ironic accounts. unusual pinto be     | UNITED STATES  |           1 |
+-------------+--------------------------------------------------------------------------------------------------------------------+----------------+-------------+
25 rows in set (1.63 sec)

从图中的id,可以看到,与ots中的数据相同:

9. 其他相关的文档参考:

  • Data Lake Analytics使用场景:https://help.aliyun.com/document_detail/70380.html
  • OLAP on TableStore——基于Data Lake Analytics的Serverless SQL大数据分析https://yq.aliyun.com/articles/618501
  • 使用Data Lake Analytics从OSS清洗数据到AnalyticDB:https://yq.aliyun.com/articles/623401
  • 使用Data Lake Analytics 分析OSS数据:https://help.aliyun.com/document_detail/70387.html
  • Data Lake Analytics数据库的连接方式:https://help.aliyun.com/document_detail/71074.html

如何在阿里云上使用Data Lake Analytics分析Table Store数据相关推荐

  1. 使用Data Lake Analytics从OSS清洗数据到AnalyticDB

    2019独角兽企业重金招聘Python工程师标准>>> 前提 必须是同一阿里云region的Data Lake Analytics(DLA)到AnalyticDB的才能进行清洗操作: ...

  2. 教程:使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集

    0. Data Lake Analytics(DLA)简介 关于Data Lake的概念,更多阅读可以参考: https://en.wikipedia.org/wiki/Data_lake 以及AWS ...

  3. 【免费公测中】为数据赋予超能力,阿里云重磅推出Serverless数据分析引擎-Data Lake Analytics

    摘要: 近日,阿里云重磅推出Serverless数据分析引擎-Data Lake Analytics,Data Lake Analytics,帮助更多不具备分析能力的存储服务,赋予其分析的能力. 近日 ...

  4. 云计算之路-阿里云上:从ASP.NET线程角度对“黑色30秒”问题的全新分析

    在这篇博文中,我们抛开对阿里云的怀疑,完全从ASP.NET的角度进行分析,看能不能找到针对问题现象的更合理的解释. "黑色30秒"问题现象的主要特征是:排队的请求(Requests ...

  5. Data Lake Analytics,大数据的ETL神器!

    Data Lake Analytics(简称DLA)介绍 数据湖(Data Lake)是时下大数据行业热门的概念:https://en.wikipedia.org/wiki....基于数据湖做分析,可 ...

  6. Data Lake Analytics的Geospatial分析函数 1

    简介 为满足部分客户在云上做Geometry数据的分析需求,阿里云Data Lake Analytics(以下简称:DLA)支持多种格式的地理空间数据处理函数,符合Open Geospatial Co ...

  7. 如何在Data Lake Analytics中使用临时表

    2019独角兽企业重金招聘Python工程师标准>>> 前言 Data Lake Analytics (后文简称DLA)是阿里云重磅推出的一款用于大数据分析的产品,可以对存储在OSS ...

  8. 阿里云上运行Docker版本的PostgreSQL

    阿里云上运行Docker版本的PostgreSQL 最近公司项目上用到PostgreSQL9.3.24, 需要搭建一套PostgreSQL测试环境. 正好最近阿里云双11优惠幅度巨大,果断入手一台2核 ...

  9. 个人建设网站流程解说,手把手教你如何在阿里云上搭建自己的网站

    现如今信息化时代,很多企业甚至是个人都有自己搭建网站的需求,目前建站有两方式,第一:找网络公司全程负责搭建:第二:自己建设:找网络公司建设网站市场价格不一,网络公司的实力技术也不一样,所以会有很多的建 ...

最新文章

  1. PHP设计模式(4)命令链模式
  2. C# winform版 nbtstat
  3. PySC2星际争霸Ⅱ 强化学习环境搭建
  4. 引入mui后,radio单选框不可点击问题解决
  5. JS实现的一个验证码,可以在前端验证后在提交action
  6. ECCV 2020 论文大盘点 - OCR 篇
  7. android usb没有读写节点,2019踩坑无数含泪写下最新教程系列(三)树莓派挂载android(树莓派通过usb读取手机里面档案)...
  8. 什么是康奈尔笔记法?
  9. 毕业照还可以这样玩()
  10. TensorRT同时加载多个模型很容易崩溃
  11. XLSTransformer导出多sheet页
  12. java drawline_Java Graphics.drawLine方法代码示例
  13. 计算机设备没有音频,电脑找不到音频设备是怎么回事_电脑没有音频设备怎么处理...
  14. Zotero取消英文语法检查
  15. 针对商品标题冗长问题,阿里工程师怎么解决?...
  16. 电机开环控制与闭环控制
  17. 永远不怕IE主页地址被修改
  18. 颜色表大全 | HTML Color Table
  19. 利盟linux驱动下载,利盟Lexmark X342n 驱动下载
  20. WPS JS详细教程

热门文章

  1. winform(MDI窗体容器、权限设置)
  2. 搞明白这八个问题,Linux系统就好学多了
  3. 高老师的架构设计_隽语集(CC_1201)
  4. 多租户数据库性能测试手册
  5. 品牌才是硬道理——一线、二线主板品牌集中营品牌才是硬道理——一线、二线主板品牌集中营...
  6. csdn博客怎么修改字体的大小和颜色
  7. 静态程序分析chapter2 - IR(Jimple) 和 CFG
  8. day18 正则表达式
  9. Attaching to process 29139 Could not attach to process.
  10. c# 第9节 数据类型之引用类型