如果上述指令執行成功,恭喜你安裝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>