日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

基于Hive Metastore訪問OSS數(shù)據(jù)湖數(shù)據(jù)(Beta)

Hologres從V2.2版本開始,支持通過Hive Metastore訪問存儲于OSS上的數(shù)據(jù)湖數(shù)據(jù),如您使用EMR集群構(gòu)建了基于OSS的數(shù)據(jù)湖環(huán)境,可通過簡單配置實(shí)現(xiàn)Hologres加速讀寫OSS和OSS-HDFS數(shù)據(jù)。

前提條件

  • 已開通OSS服務(wù)。具體操作,請參見控制臺快速入門

  • 已創(chuàng)建EMR數(shù)據(jù)湖集群構(gòu)建測試數(shù)據(jù)。具體操作,請參見創(chuàng)建集群。Hologres支持的EMR集群需滿足以下條件:

    • Hive為3.1.3及以上版本。

    • 未開啟Kerberos身份認(rèn)證。

    • 元數(shù)據(jù)選擇自建RDS或者內(nèi)置MySQL。

  • 已購買Hologres實(shí)例并開啟數(shù)據(jù)湖加速,然后登錄Hologres實(shí)例并創(chuàng)建數(shù)據(jù)庫。具體操作,請參見購買Hologres創(chuàng)建數(shù)據(jù)庫。

    說明

    開啟數(shù)據(jù)湖加速方式:訪問Hologres實(shí)例列表,單擊目標(biāo)實(shí)例操作列中的數(shù)據(jù)湖加速并確認(rèn),開啟數(shù)據(jù)湖加速功能。

  • 已提交網(wǎng)絡(luò)打通申請,阿里云Hologres技術(shù)支持人員會協(xié)助您創(chuàng)建反向終端節(jié)點(diǎn),打通網(wǎng)絡(luò)。網(wǎng)絡(luò)打通申請鏈接,請參見網(wǎng)絡(luò)打通申請。

    說明

    當(dāng)前網(wǎng)絡(luò)配置是通過IP來進(jìn)行連接,當(dāng)EMR集群IP發(fā)生變化后,需要重新配置。

限制條件

  • Hologres只讀從實(shí)例暫不支持開啟數(shù)據(jù)湖加速功能。

  • 不支持對外部表執(zhí)行UPDATE、DELETETRUNCATE等操作。

  • 暫不支持通過Auto Load方式映射來自HMS的外部表。

  • 暫不支持開啟了Kerberos身份認(rèn)證的Hive集群。

操作步驟

  1. 執(zhí)行SQL命令,創(chuàng)建EXTENSION。

    創(chuàng)建EXTENSION需要Superuser權(quán)限,該操作針對整個DB生效,一個DB只需執(zhí)行一次。

    CREATE EXTENSION IF NOT EXISTS hive_fdw;
  2. 基于hive_fdw創(chuàng)建Foreign Server(外部服務(wù)器)并配置Endpoint信息。

    CREATE SERVER IF NOT EXISTS <server_name> FOREIGN DATA WRAPPER hive_fdw 
    OPTIONS (
       hive_metastore_uris 'thrift://<Hive metastore的IP地址>:<端口號>',
       oss_endpoint 'oss-<nation>-<region>-internal.aliyuncs.com | <bucket>.oss-<nation>-<region>.oss-dls.aliyuncs.com' 
    );

    參數(shù)

    是否必填

    說明

    示例值

    server_name

    自定義Foreign Server名稱。

    hive_server

    hive_metastore_uris

    Hive MetaStore的URI。格式為thrift://<Hive metastore的IP地址>:<端口號>,端口號默認(rèn)為9083。

    說明

    您可以登錄E-MapReduce控制臺,單擊目標(biāo)集群操作列中的節(jié)點(diǎn)管理。在節(jié)點(diǎn)管理頁簽,獲取master節(jié)點(diǎn)的內(nèi)網(wǎng) IP,內(nèi)網(wǎng)IP即Hive metastore的IP地址。

    thrift://172.16.0.250:9083

    oss_endpoint

    OSS的Endpoint地址。您可以根據(jù)自己實(shí)際業(yè)務(wù)選擇:

    • 原生OSS存儲:為獲得更好的訪問性能,推薦使用OSS的內(nèi)網(wǎng)Endpoint。

    • OSS-HDFS存儲:目前僅支持內(nèi)網(wǎng)訪問。

    說明

    您可以登錄OSS管理控制臺,進(jìn)入Bucket文件的概覽頁面,在訪問端口區(qū)域,獲取OSS的Endpoint地址。

    • OSS

      oss-cn-shanghai-internal.aliyuncs.com
    • OSS-HDFS

      <bucket_name>.cn-beijing.oss-dls.aliyuncs.com
  3. (可選)創(chuàng)建用戶映射。

    Hologres支持通過CREATE USER MAPPING來指定其他用戶身份訪問特定的Foreign Server。例如:Foreign Server的Owner可以通過CREATE USER MAPPING指定RAM用戶(123xxx)來訪問OSS外部數(shù)據(jù)。CREATE USER MAPPING詳情,請參見postgres create user mapping。

    CREATE USER mapping FOR <賬號> server <server_name> options
    (
        dlf_access_id 'accessid', 
        dlf_access_key 'accesskey',
        oss_access_id 'accessid', 
        oss_access_key 'accesskey'
    );

    示例如下。

    --為當(dāng)前用戶創(chuàng)建用戶映射
    CREATE USER mapping FOR current_user server <server_name> options
    (
        dlf_access_id 'LTAI5txxx', 
        dlf_access_key 'y8LUUyyy',
        oss_access_id 'LTAI5txxx', 
        oss_access_key 'y8LUUyyy'
    );
    
    --為RAM用戶123xxx創(chuàng)建用戶映射
    CREATE USER mapping FOR "p4_123xxx" server <server_name> options
    (
        dlf_access_id 'LIlY5txxx', 
        dlf_access_key 'KsjkXKyyy',
        oss_access_id 'LIlY5txxx', 
        oss_access_key 'KsjkXKyyy'
    );
    
    --刪除用戶映射
    Drop USER MAPPING FOR CURRENT_USER server <server_name>;
    Drop USER MAPPING FOR "p4_123xxx" server <server_name>;
  4. 創(chuàng)建外部表。

    Hologres支持以下命令創(chuàng)建外部表:

    • CREATE FOREIGN TABLE:一次僅創(chuàng)建一張外部表,但支持通過指定部分列來自定義創(chuàng)建外部表,適用于需要創(chuàng)建的外部表較少且無需映射所有外部表字段的情況。

    • IMPORT FOREIGN SCHEMA:批量創(chuàng)建外部表,適用于需要創(chuàng)建多張外部表或者外部數(shù)據(jù)源批量映射的場景。

    說明
    • Hologres支持讀取OSS中的分區(qū)表,并且支持將TEXT、VARCHAR和INT作為分區(qū)鍵的數(shù)據(jù)類型。使用CREATE FOREIGN TABLE方式時,由于只進(jìn)行字段映射而不實(shí)際存儲數(shù)據(jù),只需要將分區(qū)字段作為普通字段來創(chuàng)建即可;而使用IMPORT FOREIGN SCHEMA方式時,則無需關(guān)心表字段,系統(tǒng)會自動處理表字段映射。

    • 如果OSS外部表存在和Hologres內(nèi)部表同名的表,IMPORT FOREIGN SCHEMA會跳過該外部表的創(chuàng)建。建議使用CREATE FOREIGN TABLE來定義一個非重復(fù)表名來創(chuàng)建。

    -- CREATE FOREIGN TABLE方式
    CREATE FOREIGN TABLE <holo_schema_name>.<table_name>
    (
      { column_name data_type }
      [, ... ]
      ] )
    )
    SERVER <hive_server_name>
    OPTIONS
    (
      schema_name '<ext_db_name>',
      table_name '<ext_table_name>'
    );
    
    
    -- IMPORT FOREIGN SCHEMA方式
    IMPORT FOREIGN SCHEMA <ext_db_name> 
    [
      { limit TO | EXCEPT } 
      ( table_name [, ...] ) 
    ]
    FROM server <hive_server_name>
    INTO <holo_schema_name> 
    options(
      if_table_exist 'update',
      if_unsupported_type 'error'
            );
  5. 查詢外部表。

    創(chuàng)建外部表成功后,可以直接查詢外部表讀取OSS中的數(shù)據(jù)。

    • 非分區(qū)表

      SELECT * FROM <holo_schema>.<hive_table>;
    • 分區(qū)表

      SELECT * FROM <holo_schema>.<hive_partition_table> WHERE <partition_key> = '<partition_value>';