DLA如何分析Table Store的数据-阿里云开发者社区

开发者社区> Roin123> 正文

DLA如何分析Table Store的数据

简介: 数据湖(Data Lake)是时下热门的概念,基于数据湖,可以不用做任何ETL、数据搬迁等过程,实现跨各种异构数据源进行大数据关联分析,从而极大的节省成本和提升用户体验。
+关注继续查看

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

关于DLA+Table Store的入门体验:https://ots.console.aliyun.com/index#/demo/cn-hangzhou/dla

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

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

3. DLA分析OTS最核心的链路

01.jpg

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

  • 库和表等概念映射

02.jpg

OTS的概念与DLA的概念映射

  • 字段的映射关系

03.jpg

OTS的概念与DLA的类型映射

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

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

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

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

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

04.jpg

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

05.jpg

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

06.jpg

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

08.jpg

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

09.jpg

  • 等用户开通之后,会在你的短信、站内信、邮箱收到账号相关的信息(内容模板可能会升级):

10.jpg

  • 用户通过在页面上查看一下,得到如下的访问入口信息:

11.jpg

  • 如下是基于mysql/jdbc方式通过公网经典endpoint连接到dla杭州集群:
mysql -h<您的DLA经典endpoint,在DLA的console上> -P10000 -u<dla_username> -p<dla_password> -c -A

JDBC URL:
jdbc:mysql://<您的DLA经典endpoint,在DLA的console上>:10000/
username=<dla_username>
password=<dla_password>

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

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

9. 使用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 changed

mysql> show tables;
Empty set (0.30 sec)

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

mysql> CREATE EXTERNAL TABLE `nation` (
  `N_NATIONKEY` bigint not NULL ,
  `N_COMMENT` varchar(100) NULL ,
  `N_NAME` varchar(100) NULL ,
  `N_REGIONKEY` bigint 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中的数据相同:

12.jpg

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
基于Tablestore 实现大规模订单系统海量订单/日志数据分类存储的实践
前言:从最早的互联网高速发展、到移动互联网的爆发式增长,再到今天的产业互联网、物联网的快速崛起,各种各样新应用、新系统产生了众多订单类型的需求,比如电商购物订单、银行流水、运营商话费账单、外卖订单、设备信息等,产生的数据种类和数据量越来越多;其中订单系统就是一个非常广泛、通用的系统。而随着数据规模的快速增长、大数据技术的发展、运营水平的不断提高,包括数据消费的能力要求越来越高,这对支撑订单系统的数据库设计、存储系统也提出了更多的要求。在新的需求下,传统的经典架构面临着诸多挑战,需要进一步思考架构优化,以更好支撑业务发展;
187 0
Tablestore入门手册-数据管理-GetRow
GetRow接口概述     GetRow接口用于读取一行数据,是Tablestore最基础的API之一。官方提供了Java、Go、Node.js、Python、PHP、C#、C++ SDK。     本文以Java代码为例,对GetRow接口进行详细说明。 基本使用说明 参数说明 参数名称 是否必填 参数说
392 0
DLA如何分析Table Store的数据
数据湖(Data Lake)是时下热门的概念,基于数据湖,可以不用做任何ETL、数据搬迁等过程,实现跨各种异构数据源进行大数据关联分析,从而极大的节省成本和提升用户体验。
886 0
基于Tablestore实现海量运动轨迹数据存储
前言 现在越来越多的人都开始关心自己的运动数据,比如每日的计步、跑步里程、骑行里程等。运动APP与运动类的穿戴设备借助传感器、地图、GPS定位等技术,收集好运动数据以后,通过与互联网社交功能结合,产生了一种新的运动模式。
3709 0
.NET数据库编程求索之路--4.使用ADO.NET实现(三层架构篇-使用Table传递数据)(3)
4.使用ADO.NET实现(三层架构篇-使用Table传递数据)(3)   作者:夏春涛 xchunta@163.com 转载请注明来源: http://www.cnblogs.com/SummerRain/archive/2012/07/25/2609144.
868 0
iOS开发笔记 7、数据【Preferences、文件、库、Core Data】
程序开发中根据要使用各种各样的数据,如配制、文件系统、数据库等,iOS对这个有很好的支持 Preferences If you’re going to create a program that has built-in preferences, you should do so using the Utility Application template.
816 0
Observability:使用 Elastic Stack 分析地理空间数据
在今天的文章中,我们将参考之前的文章 “如何使用 Elasticsearch ingest 节点来丰富日志和指标”。我们可以利用 Elasticsearch ingest 节点来更加丰富我们的数据,并对这些数据做更进一步的的分析。
1280 0
.NET数据库编程求索之路--4.使用ADO.NET实现(三层架构篇-使用Table传递数据)(1)
4.使用ADO.NET实现(三层架构篇-使用Table传递数据)(1)   4.1 解决方案框架 解决方案(.sln)包含以下几个项目: (1)类库项目HomeShop.DbUtility,数据访问实用工具; (2)类库项目HomeShop.Model,实体层; (3)类库项目HomeShop.DAL,数据访问层; (4)类库项目HomeShop.BLL,业务逻辑层; (5)WinForm项目HomeShop.WinForm,界面层。
790 0
从 0 到 1 通过 Flink + Tablestore 进行大数据处理与分析
阿里云实时计算Flink版是一套基于 Apache Flink 构建的⼀站式实时大数据分析平台。在大数据场景下,实时计算 Flink 可提供端到端亚秒级实时数据流批处理能力。表格存储 Tablestore (又名 OTS)是阿里云自研的多模型结构化数据存储,可提供海量结构化数据的存储、查询分析服务。表格存储的双引擎架构支持千万TPS和毫秒级延迟的服务能力,可作为大数据计算的极佳上下游存储。
337 0
.NET数据库编程求索之路--4.使用ADO.NET实现(三层架构篇-使用Table传递数据)(4)
4.使用ADO.NET实现(三层架构篇-使用Table传递数据)(4)     作者:夏春涛 xchunta@163.com 转载请注明来源:http://www.cnblogs.com/SummerRain/archive/2012/07/25/2609154.
683 0
+关注
204
文章
1
问答
来源圈子
更多
阿里云数据库:帮用户承担一切数据库风险,给您何止是安心!支持关系型数据库:MySQL、SQL Server、PostgreSQL、PPAS(完美兼容Oracle)、自研PB级数据存储的分布式数据库Petadata、自研金融级云数据库OceanBase支持NoSQL数据库:MongoDB、Redis、Memcache更有褚霸、丁奇、德哥、彭立勋、玄惭、叶翔等顶尖数据库专家服务。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载