DLA 分析 AnalyticDB for PostgreSQL 数据源的数据

简介: 简介 数据湖分析(Data Lake Analytics,DLA)是无服务器(Serverless)化的云上交互式查询分析服务。无需ETL,就可通过DLA在云上通过标准JDBC直接对阿里云OSS,TableStore,RDS,MongoDB等不同数据源中存储的数据进行查询和分析。

简介

数据湖分析(Data Lake Analytics,DLA)是无服务器(Serverless)化的云上交互式查询分析服务。无需ETL,就可通过DLA在云上通过标准JDBC直接对阿里云OSS,TableStore,RDS,MongoDB等不同数据源中存储的数据进行查询和分析。DLA无缝集成各类商业分析工具,提供便捷的数据可视化。

DLA提供了几大核心亮点:

  • 轻松分析多源数据:OSS,TableStore,RDS等,让不同存储源中沉睡已久的数据,具备分析能力。
  • 能够对异构数据源做关联分析。
  • 全Serverless结构,无需长期持有成本,完全按需使用,更灵活,资源伸缩方便,升级无感知。

AnalyticDB for PostgreSQL 中文名为分析型数据库PostgreSQL版(原HybridDB for PostgreSQL)是一种简单、快速、经济高效的 PB 级云端数据仓库解决方案。分析型数据库PostgreSQL版 兼容 Greenplum 开源数据仓库,为一种采用 MPP 全并行架构的数仓服务,其广泛兼容 PostgreSQL/Oracle 的语法生态,新一代向量引擎性能超越传统数据库引擎 10 倍以上,分布式SQL优化器实现复杂查询语句免调优。通过分析型数据库PostgreSQL版可以实现对海量数据的即席查询分析、ETL 处理及可视化探索,是各行业有竞争力的云上数据仓库解决方案。

随着 DLA 使用的用户数越来越多,通过 DLA 读写 AnalyticDB for PostgreSQL 并和其他数据源整合分析已经成为客户一个很重要的需求,基于这个情况,我们为 DLA 添加了读写 AnalyticDB for PostgreSQL 数据源的功能。

如何使用

AnalyticDB for PostgreSQL 数据准备

我们先在已经购买好的 AnalyticDB for PostgreSQL 里面建一张表吧,如下:

CREATE TABLE products ( 
         product_no integer PRIMARY KEY,
         name text,
         price numeric)
DISTRIBUTED BY (product_no);

image

这张表默认是创建在名为 postgres 的数据库里面,对应的 Schema 为 public,我们往里面插入几条数据:

INSERT INTO products (product_no, name, price) VALUES
    (1, 'Cheese', 9.99),
    (2, 'Bread', 1.99),
    (3, 'Milk', 2.99);

image
我们可以查看下已经插入进去的数据
image

通过 DLA 操作 AnalyticDB for PostgreSQL

为了让 DLA 能够访问 AnalyticDB for PostgreSQL,需要到 AnalyticDB for PostgreSQL 对应的实例里面添加 100.104.0.0/16 IP 白名单。
image

现在我们可以在 DLA 里面读写这张表了,具体如下。通过 DLA 控制台创建一张数据库:

CREATE SCHEMA `dla_adbpg_test_db` WITH DBPROPERTIES (
  CATALOG = 'adbpg',
  LOCATION = 'jdbc:postgresql://gp-xxxxx.gpdb.rds.aliyuncs.com:3432/postgres',
  USER = 'xxxx',
  PASSWORD = 'xxxxx',
  INSTANCE_ID = 'xxxxxx',
  VPC_ID = 'x'xxx
); 

image
说明:

  • 这里 CATALOG 需要写 adbpg,代表数据源是 AnalyticDB for PostgreSQL
  • LOCATION:这里到你 AnalyticDB for PostgreSQL 控制台里面看下对应 AnalyticDB for PostgreSQL 实例的内网地址,因为我这里是默认的数据库,所以写 postgres。这里需要根据你实际情况写对应的数据库名称。
  • USER 和 PASSWORD 对应的是你 AnalyticDB for PostgreSQL 的用户名和密码;
  • INSTANCE_ID:对应 AnalyticDB for PostgreSQL 实例ID
  • VPC_ID: 对应的是 VPC id。

建表语法

语法一

create external table dla_tablename (
       column1 datatype,
       column2 datatype,
       column3 datatype
) tblproperties(
  table_mapping = 'schema_name.adbpg_tablename'
);

语法二

create external table dla_tablename like mapping('schema_name.adbpg_tablename');

语法二

msck repair database dla_adbpg_db

注意:因为 AnalyticDB for PostgreSQL 里面一个 db 里面会有多个 schema,不同 schema 里面的表名可能会有重复,所以目前 msck repair database 只能识别出 public schema 里面的表。

我们使用上面的建表语法一,在 DLA 里面创建一张表和刚刚 AnalyticDB for PostgreSQL 上面的 products 表映射:

create external table products (
       product_no int,
       name varchar(1023),
       price double
) tblproperties(
  table_mapping = 'public.products'
);

当然,如果我们不知道 AnalyticDB for PostgreSQL 中对应库里面有什么表,或者表太多,我不想一张一张到 DLA 里面建立映射,那我们也可以使用下面命令自动识别 AnalyticDB for PostgreSQL 对应库里面的表:

msck repair database dla_adbpg_test_db

现在我们可以通过 DLA 查询 AnalyticDB for PostgreSQL 里面 products 表中的数据:
image
当然,我们也可以通过 DLA 往 AnalyticDB for PostgreSQL 中的 products 表插入数据:

insert into dla_adbpg_test_db.products values(4, 'Apple', 10.1)

image

为了确定这条数据的确插入到 AnalyticDB for PostgreSQL 中的 products 表里面,我们到 DMS 中查看这张表的数据:
image
可以看到,这条数据确实插进去了。

快去体验 DLA 读写 AnalyticDB for PostgreSQL 里面的表吧。

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
10天前
|
数据可视化 数据挖掘 OLAP
基于 Hologres 搭建轻量 OLAP 分析平台评测报告
【9月更文第6天】开作为互联网手游公司的产品经理和项目经理,数据分析对于我们的业务至关重要。我们一直在寻找高效、可靠的数据分析解决方案,以更好地了解玩家行为、优化游戏体验和提升运营效率。近期,我们体验并部署了《基于 Hologres 搭建轻量 OLAP 分析平台》解决方案,以下是我们对该方案的评测报告。
55 12
基于 Hologres 搭建轻量 OLAP 分析平台评测报告
|
20天前
|
OLAP
云端问道5期-基于Hologres轻量高性能OLAP分析陪跑班获奖名单公布啦!
云端问道5期-基于Hologres轻量高性能OLAP分析陪跑班获奖名单公布啦!
411 3
|
29天前
|
DataWorks 负载均衡 Serverless
实时数仓 Hologres产品使用合集之如何导入大量数据
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
26天前
|
SQL 消息中间件 OLAP
OneSQL OLAP实践问题之实时数仓中数据的分层如何解决
OneSQL OLAP实践问题之实时数仓中数据的分层如何解决
37 1
|
29天前
|
SQL DataWorks 数据库连接
实时数仓 Hologres操作报错合集之如何将物理表数据写入临时表
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
29天前
|
SQL 分布式计算 关系型数据库
实时数仓 Hologres操作报错合集之指定主键更新模式报错主键数据重复,该如何处理
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
29天前
|
SQL 分布式计算 MaxCompute
实时数仓 Hologres产品使用合集之如何在插入数据后获取自增的id值
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
实时数仓 Hologres产品使用合集之如何在插入数据后获取自增的id值
|
16天前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
82 0
|
18天前
|
SQL 关系型数据库 HIVE
实时计算 Flink版产品使用问题之如何将PostgreSQL数据实时入库Hive并实现断点续传
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
29天前
|
缓存 数据库
实时数仓 Hologres产品使用合集之如何查看并分析历史查询语句
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。

热门文章

最新文章