天天看點

Datahub Python SDK入門手冊前言安裝基本概念準備工作Topic操作資料釋出/訂閱結尾

如果上述指令執行成功,恭喜你安裝datahub python版本sdk成功!

通路datahub服務需要使用阿裡雲認證賬号,需要提供阿裡雲accessid及accesskey。 同時需要提供通路的服務位址。

建立project

初始化datahub

tuple類型topic寫入的資料是有格式的,需要指定record schema,目前支援以下幾種資料類型:

類型

含義

值域

bigint

8位元組有符号整型。請不要使用整型的最小值 (-9223372036854775808),這是系統保留值。

-9223372036854775807 ~ 9223372036854775807

string

字元串,隻支援utf-8編碼。

單個string列最長允許1mb。

boolean

布爾型。

可以表示為true/false,true/false, 0/1

double

8位元組雙精度浮點數。

-1.0 10308 ~ 1.0 10308

timestamp

時間戳類型

表示到微秒的時間戳類型

建立示例

blob類型topic支援寫入一塊二進制資料作為一個record,資料将會以base64編碼傳輸。

list_shards接口擷取topic下的所有shard

傳回結果是一個list對象,每個元素是一個shard,可以擷取shard_id,state狀态,begin_hash_key,end_hash_key等資訊

put_records接口向一個topic釋出資料

其中傳入參數records是一個list對象,每個元素為一個record,但是必須為相同類型的record,即tuple類型或者blob類型,傳回結果為寫入失敗記錄的數組下标

寫入tuple類型record示例

擷取cursor,可以通過三種方式擷取:oldest, latest, system_time

oldest: 表示擷取的cursor指向目前有效資料中時間最久遠的record

latest: 表示擷取的cursor指向目前最新的record

system_time: 表示擷取的cursor指向該時間之後接收到的第一條record

通過get_cursor接口擷取用于讀取指定位置之後資料的cursor

從指定shard讀取資料,需要指定從哪個cursor開始讀,并指定讀取的上限資料條數,如果從cursor到shard結尾少于limit條數的資料,則傳回實際的條數的資料。

消費tuple類型record示例

<a href="http://pydatahub.readthedocs.io/zh_cn/latest/">python api doc</a>

<a href="https://pypi.python.org/pypi/pydatahub">python package index</a>

<a href="https://github.com/aliyun/aliyun-datahub-sdk-python">github位址</a>

繼續閱讀