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

CREATE FOREIGN TABLE

CREATE FOREIGN TABLE語句用于創建外部表,當前支持創建MaxCompute、OSS、DLF、Hologres類型的外部表。本文為您介紹CREATE FOREIGN TABLE的用法。

使用限制

僅Hologres V1.3及以上版本支持MaxCompute的三層模型模式(即在原先的Project和Table之間增加了一層Schema的概念),更多描述請參見Schema操作。如果您想在Hologres中使用MaxCompute的三層模型的項目創建外部表,且您的Hologres版本較低,請您使用自助升級或加入Hologres釘釘交流群反饋,詳情請參見如何獲取更多的在線支持?

語法

CREATE FOREIGN TABLE [ IF NOT EXISTS ] table_name ( [
  { column_name data_type }
  [, ... ]
  ] )
SERVER odps_server
[ OPTIONS ( option 'value' [, ... ] ) ]

參數說明如下表所示。

參數

描述

SERVER

連接外部數據源的服務器。

您可以直接調用Hologres底層已創建的名為odps_server的外部表服務器。詳細原理請參見Postgres FDW

OPTIONS

您需要指定project_nametable_name。如果您MaxCompute的Project是三層模型模式,您仍使用兩層模型的寫法調用,則會報錯,報錯樣例如下。

failed to import foreign schema:Table not found - table_xxx
  • MaxCompute兩層模型:

    • project_name為MaxCompute的項目名稱。

    • table_name為需要查詢的MaxCompute表名稱。

  • MaxCompute三層模型:

    • project_name為MaxCompute的項目名稱和Schema名稱,格式為odps_project_name#odps_schema_name

    • table_name為需要查詢的MaxCompute表名稱。

說明

Hologres創建的外部表的字段類型必須與MaxCompute的字段類型一一對應。

示例

  • 直接查詢外部表數據。

    Hologres新建外部表后,您可以直接查詢MaxCompute外部表數據。示例SQL語句如下。

    --兩層模型模式
    CREATE FOREIGN TABLE src_pt(
      id text, 
      pt text) 
    SERVER odps_server 
    OPTIONS(project_name '<odps_project>', table_name '<odps_table>');
    
    --三層模型模式
    CREATE FOREIGN TABLE src_pt(
      id text,
      pt text)
    SERVER odps_server
    OPTIONS(project_name '<odps_project>#<odps_schema>', table_name '<odps_table>');
    
    SELECT * FROM src_pt;

    在Hologres中直接查詢MaxCompute外部表數據,詳情請參見基于Foreign Table加速查詢MaxCompute數據

  • 導入外部表并查詢數據。

    您可以導入MaxCompute的數據至Hologres,再進行查詢。示例語句如下。

    CREATE FOREIGN TABLE src_pt_odps(
      id text,
      pt text) 
    SERVER odps_server 
    OPTIONS (project_name'<odps_project>', table_name'<odps_table>');
    
    BEGIN;
    CREATE TABLE src_pt(
     id text, 
      pt text);
    COMMIT;
    
    INSERT INTO src_pt SELECT * FROM src_pt_odps;

    導入MaxCompute數據至Hologres后,再進行查詢,詳情請參見使用SQL從MaxCompute導入

MaxCompute與Hologres的數據類型映射

創建MaxCompute外部表時,MaxCompute與Hologres的數據類型映射請參見MaxCompute與Hologres的數據類型映射

說明
  • DATETIME使用東八區時間作為系統的標準時間。取值范圍為0000年1月1日9999年12月31日,精確到毫秒。

  • TIMESTAMPTZ包含時區,取值范圍為4713BC294276AD,精確到微秒。

  • 當MaxCompute數據表中含有Hologres不支持的類型字段時,如果Hologres不訪問該字段,則可以正常查詢所支持的類型字段。