日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DLA实现跨地域、跨实例的多AnalyticDB读写访问

發布時間:2024/4/17 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DLA实现跨地域、跨实例的多AnalyticDB读写访问 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 介紹
  • 實時數據倉庫ADB(AnalyticDB)云產品:https://www.aliyun.com/produc...
    數據湖分析服務DLA(Data Lake Analytics)云產品:https://www.aliyun.com/produc...
    數據湖分析DLA簡介:https://yq.aliyun.com/article...
    DLA作為數據湖數據分析場景中的中樞,能夠對云上眾多數據存儲、數據庫等系統進行融合數據分析,為用戶提供統一操作視角,打通系統邊界,對分析結果進行回流。

    目前已經支持的數據存儲、數據庫系統包括:

    數據系統 源(查詢) 目標(數據回流)
    OSS 支持 支持
    Table Store 支持 支持
    AnalyticDB 支持 支持
    RDS for MySQL 支持 支持
    用戶自建MySQL 支持 支持
    RDS for PostgreSQL 支持 支持
    用戶自建PostgreSQL 支持 支持
    RDS for SQL Server 支持 支持
    用戶自建SQL Server 支持 支持
    云數據庫Redis 支持 暫不支持
    用戶自建Redis 支持 暫不支持
    云數據庫MongoDB 支持 暫不支持
    用戶自建MongoDB 支持 暫不支持
    PolarDB 支持 支持
    通過彈性網絡技術,目前DLA支持了跨地域(region)的數據訪問能力,上述的多個數據源同時通過DLA也具備了跨多個地域的融合分析能力,能夠幫助用戶實現多云(Multicloud: https://en.wikipedia.org/wiki...)場景下的數據融合分析。

    本文重點介紹通過DLA實現跨地域、跨實例的多AnalyticDB讀寫訪問。涉及的網絡結構如下圖所示,假設用戶使用的DLA服務位于上海region。

  • 場景示例
  • ADB中的數據
    假設ADB的兩個實例中,都已經存在如下兩張表,對應ADB的DDL為:

    CREATE TABLE customer (
    c_custkey int COMMENT '',
    c_name varchar COMMENT '',
    c_address varchar COMMENT '',
    c_nationkey int COMMENT '',
    c_phone varchar COMMENT '',
    c_acctbal double COMMENT '',
    c_mktsegment varchar COMMENT '',
    c_comment varchar COMMENT '',
    PRIMARY KEY (C_CUSTKEY,C_NATIONKEY)
    )
    PARTITION BY HASH KEY (C_CUSTKEY) PARTITION NUM 32
    TABLEGROUP tpch_50x_group
    OPTIONS (UPDATETYPE='realtime')
    COMMENT '';

    CREATE DIMENSION TABLE nation (
    n_nationkey int COMMENT '',
    n_name varchar COMMENT '',
    n_regionkey int COMMENT '',
    n_comment varchar COMMENT '',
    PRIMARY KEY (N_NATIONKEY)
    )
    OPTIONS (UPDATETYPE='realtime')
    COMMENT '';
    其中customer表有7,500,000條數據,nation表有25條數據。

    DLA映射北京region的ADB實例

    由于使用的是上海region的DLA服務,所以,需要通過公網訪問該北京region的ADB實例的經典網絡地址:ads-dla-test-f508cb23.cn-beijing-1.ads.aliyuncs.com:10006(跨region訪問不能走VPC,網絡不通)

    連接上海region的DLA服務,執行如下建庫和建表命令,映射指向北京region ADB實例和customer表。

    CREATE DATABASE beijing_public_ads_dla_test
    WITH DBPROPERTIES (

    catalog = 'ads', location = 'jdbc:mysql://ads-dla-test-f508cb23.cn-beijing-1.ads.aliyuncs.com:10006/ads_dla_test', instance = 'ads_dla_test', user = 'L*T', password = '****'

    )
    COMMENT '';

    CREATE EXTERNAL TABLE IF NOT EXISTS customer (

    `c_custkey` INT NULL COMMENT '', `c_name` STRING NULL COMMENT '', `c_address` STRING NULL COMMENT '', `c_nationkey` INT NULL COMMENT '', `c_phone` STRING NULL COMMENT '', `c_acctbal` DOUBLE NULL COMMENT '', `c_mktsegment` STRING NULL COMMENT '', `c_comment` STRING NULL COMMENT ''

    );

    CREATE EXTERNAL TABLE IF NOT EXISTS nation (
    n_nationkey int COMMENT '',
    n_name varchar COMMENT '',
    n_regionkey int COMMENT '',
    n_comment varchar COMMENT ''
    );
    DLA映射上海region的ADB實例

    由于使用的是上海region的DLA服務,所以,可以通過VPC網絡地址訪問同上海region的ADB實例:dla-data-4d5443bf-vpc.cn-shanghai-1.ads.aliyuncs.com:10001

    注意:為ADB生成的VPC URL必須是為

    連接上海region的DLA服務,執行如下建庫和建表命令,映射指向上海region ADB實例和customer表。

    CREATE DATABASE shanghai_vpc_dla_data
    WITH DBPROPERTIES (

    catalog = 'ads', location = 'jdbc:mysql://dla-data-4d5443bf-vpc.cn-shanghai-1.ads.aliyuncs.com:10001/dla_data', instance = 'dla_data', user = 'L*M', password = '****'

    )
    COMMENT '';

    CREATE EXTERNAL TABLE IF NOT EXISTS customer (
    c_custkey INT NULL COMMENT '',
    c_name STRING NULL COMMENT '',
    c_address STRING NULL COMMENT '',
    c_nationkey INT NULL COMMENT '',
    c_phone STRING NULL COMMENT '',
    c_acctbal DOUBLE NULL COMMENT '',
    c_mktsegment STRING NULL COMMENT '',
    c_comment STRING NULL COMMENT ''
    );

    CREATE EXTERNAL TABLE IF NOT EXISTS nation (
    n_nationkey int COMMENT '',
    n_name varchar COMMENT '',
    n_regionkey int COMMENT '',
    n_comment varchar COMMENT ''
    );
    查詢
    如下是按照國家統計客戶的數量的查詢示例,由于上述兩個ADB實例中的兩張表的數據相同,所以通過DLA查詢,下面四個查詢的結果是相同的。查詢是通過上海region的DLA執行的:

    查詢1:北京region ADB的customer表join北京region ADB的nation表;
    SELECT a.c_nationkey, b.n_name, count(*) as cnt
    FROM beijing_public_ads_dla_test.customer a
    JOIN beijing_public_ads_dla_test.nation b ON a.c_nationkey = b.n_nationkey
    GROUP BY a.c_nationkey, b.n_name
    ORDER BY cnt DESC;
    查詢2:上海region ADB的customer表join上海region ADB的nation表;
    SELECT a.c_nationkey, b.n_name, count(*) as cnt
    FROM shanghai_vpc_dla_data.customer a
    JOIN shanghai_vpc_dla_data.nation b ON a.c_nationkey = b.n_nationkey
    GROUP BY a.c_nationkey, b.n_name
    ORDER BY cnt DESC;
    查詢3:上海region ADB的customer表join北京region ADB的nation表;
    SELECT a.c_nationkey, b.n_name, count(*) as cnt
    FROM shanghai_vpc_dla_data.customer a
    JOIN beijing_public_ads_dla_test.nation b ON a.c_nationkey = b.n_nationkey
    GROUP BY a.c_nationkey, b.n_name
    ORDER BY cnt DESC;
    查詢4:北京region ADB的customer表join上海region ADB的nation表;
    SELECT a.c_nationkey, b.n_name, count(*) as cnt
    FROM beijing_public_ads_dla_test.customer a
    JOIN shanghai_vpc_dla_data.nation b ON a.c_nationkey = b.n_nationkey
    GROUP BY a.c_nationkey, b.n_name
    ORDER BY cnt DESC;
    寫入
    通過DLA執行INSERT from SELECT,將其他數據源的查詢結果寫入ADB數據源中。

    在DLA中執行如下語句,指向上海region的OSS bucket建庫、建表:

    CREATE DATABASE tpch_50x_text
    WITH DBPROPERTIES (

    catalog = 'oss', location = 'oss://oss-****/datasets/tpch/50x/text_date/'

    )
    COMMENT '';

    CREATE EXTERNAL TABLE tpch_50x_text.nation (

    `n_nationkey` int, `n_name` string, `n_regionkey` int, `n_comment` string

    )
    ROW FORMAT DELIMITED

    FIELDS TERMINATED BY '|'

    STORED AS TEXTFILE
    LOCATION 'oss://oss-**/datasets/tpch/50x/text_date/nation_text';
    更多關于DLA對OSS的數據查詢,請參考:
    https://yq.aliyun.com/article... (教程:使用Data Lake Analytics + OSS分析CSV格式的TPC-H數據集)
    https://yq.aliyun.com/article... (教程:Data Lake Analytics + OSS數據文件格式處理大全)
    https://yq.aliyun.com/article... (Data Lake Analytics中OSS LOCATION的使用說明)
    https://yq.aliyun.com/article... (教程:如何使用Data Lake Analytics創建分區表)
    https://yq.aliyun.com/article... (使用Data Lake Analytics快速分析OSS上的日志文件)
    https://yq.aliyun.com/article... (教程:如何通過DLA實現數據文件格式轉換)

    如下示例場景:

    通過上海region DLA服務,將上海region的OSS bucket數據寫入上海region的ADB中:
    INSERT INTO shanghai_vpc_dla_data.nation
    SELECT * FROM tpch_50x_text.nation;
    通過上海region DLA服務,將上海region的OSS bucket數據寫入北京region的ADB中:(由于需要跨region的公網訪問,建議該模式下數據量不要太大)
    INSERT INTO beijing_public_ads_dla_test.nation
    SELECT * FROM tpch_50x_text.nation;
    通過上海region DLA服務,將上海region的ADB數據寫入北京region的ADB中:(由于需要跨region的公網訪問,建議該模式下數據量不要太大)
    INSERT INTO beijing_public_ads_dla_test.nation
    SELECT * FROM shanghai_vpc_dla_data.nation;
    通過上海region DLA服務,將北京region的ADB數據寫入上海region的ADB中:(由于需要跨region的公網訪問,建議該模式下數據量不要太大)
    INSERT INTO shanghai_vpc_dla_data.nation
    SELECT * FROM beijing_public_ads_dla_test.nation;

    本文作者:julian.zhou

    閱讀原文

    本文為云棲社區原創內容,未經允許不得轉載。

    總結

    以上是生活随笔為你收集整理的DLA实现跨地域、跨实例的多AnalyticDB读写访问的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。