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

使用MaxCompute訪問表格存儲

本文介紹如何在同一個云賬號下實現表格存儲和MaxCompute之間的無縫連接。

背景信息

MaxCompute是一項大數據計算服務,它能提供快速、完全托管的PB級數據倉庫解決方案,使您可以經濟并高效地分析處理海量數據。您只需通過一條簡單的DDL語句,即可在MaxCompute上創建一張外部表,建立MaxCompute表與外部數據源的關聯,提供各種數據的接入和輸出能力。MaxCompute表是結構化的數據,而外部表可以不限于結構化數據。

表格存儲與MaxCompute都有其自身的類型系統,兩者之間的類型對應關系如下表所示。

Tablestore

MaxCompute

STRING

STRING

INTEGER

BIGINT

DOUBLE

DOUBLE

BOOLEAN

BOOLEAN

BINARY

BINARY

準備工作

使用MaxCompute訪問表格存儲前,您需要完成以下準備工作:

  1. 開通MaxCompute服務

  2. 創建工作空間

  3. 創建AccessKey。

  4. RAM控制臺授權MaxCompute訪問表格存儲的權限。具體請參見同賬號授權跨賬號授權

  5. 在表格存儲控制臺創建實例創建數據表

    在本示例中,創建的表格存儲實例和數據表信息如下:

    • 實例名稱:cap1

    • 數據表名稱:vehicle_track

    • 主鍵信息:vid(integer),gt(integer)

    • 訪問域名:https://cap1.cn-hangzhou.ots-internal.aliyuncs.com

      說明

      使用MaxCompute訪問表格存儲時,建議使用表格存儲的私網地址。

    • 設置實例網絡訪問控制。表格存儲默認支持通過任意網絡訪問實例,保持默認配置即可。配置如下:

      image

步驟一:安裝并配置客戶端

  1. 下載MaxCompute客戶端并解壓。

    說明

    確保您的機器上已安裝JRE 1.7或以上版本。

  2. 編輯conf/odps_config.ini文件,對客戶端進行配置,如下所示。

    # access_idaccess_key是用戶的云賬號AccessKey信息(包括AccessKey IDAccessKey Secret),可登錄阿里云官網,進入管理控制臺,移動鼠標到右上角頭像后單擊AccessKey進行查看。
    access_id=*******************
    access_key=*********************
    # 指定用戶想進入的項目空間。
    project_name=my_project
    # MaxCompute服務的訪問鏈接。
    end_point=https://service.odps.aliyun.com/api
    # MaxCompute Tunnel服務的訪問鏈接。
    tunnel_endpoint=https://dt.odps.aliyun.com
    # 當用戶執行一個作業后,客戶端會返回該作業的LogView地址。打開該地址將會看到作業執行的詳細信息。
    log_view_host=http://logview.odps.aliyun.com
    # 決定是否開啟HTTPS訪問。
    https_check=true
    說明

    odps_config.ini文件中使用#作為注釋,MaxCompute客戶端內使用--作為注釋。

  3. 運行bin/odpscmd.bat,輸入show tables;

    如果顯示當前MaxCompute項目中的表,則表示上述配置正確。

    odps2

步驟二:創建外部表

創建一張MaxCompute的數據表(ots_vehicle_track)關聯到Tablestore的某一張表(vehicle_track)。

關聯的數據表信息如下。

  • 實例名稱:cap1

  • 數據表名稱:vehicle_track

  • 主鍵信息:vid(int),gt(int)

  • 訪問域名:https://cap1.cn-hangzhou.ots-internal.aliyuncs.com

CREATE EXTERNAL TABLE IF NOT EXISTS ots_vehicle_track
(
vid bigint,
gt bigint,
longitude double,
latitude double,
distance double ,
speed double,
oil_consumption double
)
STORED BY 'com.aliyun.odps.TableStoreStorageHandler' -- (1)
WITH SERDEPROPERTIES ( -- (2)
'tablestore.columns.mapping'=':vid, :gt, longitude, latitude, distance, speed, oil_consumption', -- (3)
'tablestore.table.name'='vehicle_track' -- (4)
)
LOCATION 'tablestore://cap1.cn-hangzhou.ots-internal.aliyuncs.com'; -- (5)

參數說明如下:

標號

參數

說明

(1)

com.aliyun.odps.TableStoreStorageHandler

MaxCompute內置的處理Tablestore數據的StorageHandler,定義了MaxComputeTablestore的交互,相關邏輯由MaxCompute實現。

(2)

SERDEPROPERITES

可以理解為提供參數選項的接口,在使用TableStoreStorageHandler時,有兩個必須指定的選項,分別是tablestore.columns.mappingtablestore.table.name。

(3)

tablestore.columns.mapping

必填選項。MaxCompute將要訪問的Tablestore表的列,包括主鍵和屬性列。其中,帶:的表示Tablestore主鍵,例如本示例中的:vid:gt,其他均為屬性列。在指定映射的時候,用戶必須提供指定Tablestore表的所有主鍵,屬性列無需全部提供,可以只提供需要通過MaxCompute來訪問的屬性列。

(4)

tablestore.table.name

需要訪問的Tablestore表名。 如果指定的Tablestore表名錯誤(不存在),則會報錯。MaxCompute不會主動創建Tablestore表。

(5)

LOCATION

指定訪問的Tablestore的實例信息,包括實例名和endpoint等。

步驟三:通過外部表訪問Tablestore數據

創建外部表后,Tablestore的數據便引入到了MaxCompute生態中,您可通過MaxCompute SQL命令來訪問Tablestore數據。

-- 統計編號4以下的車輛在時間戳1469171387以前的平均速度和平均油耗。
select vid,count(*),avg(speed),avg(oil_consumption) from ots_vehicle_track where vid <4 and gt<1469171387  group by vid;

返回類似如下結果:

odps1