python消费datahub_Python pydatahub包_程序模块 - PyPI - Python中文网

fromdatahubimportDataHubdh=DataHub('**your-access-id**','**your-secret-access-key**',endpoint='**your-end-point**')# with security token# dh = DataHub('**your-access-id**', '**your-secret-access-key**', endpoint='**your-end-point**', security_token='**your-security-token**')# ============================= create project =============================project_name='my_project_name'comment='my project'dh.create_project(project_name,comment)# ============================= get project =============================project_result=dh.get_project('pydatahub_test')print(project_result)# ============================= create tuple topic =============================fromdatahub.modelsimportRecordSchema,FieldTypetopic_name='tuple_topic_test'shard_count=3life_cycle=7comment='tuple topic'record_schema=RecordSchema.from_lists(['bigint_field','string_field','double_field','bool_field','time_field'],[FieldType.BIGINT,FieldType.STRING,FieldType.DOUBLE,FieldType.BOOLEAN,FieldType.TIMESTAMP])dh.create_tuple_topic(project_name,topic_name,shard_count,life_cycle,record_schema,comment)# ============================= create blob topic =============================topic_name='blob_topic_test'shard_count=3life_cycle=7comment='blob topic'dh.create_tuple_topic(project_name,topic_name,shard_count,life_cycle,comment)# ============================= get topic =============================topic_result=dh.get_topic(project_name,topic_name)print(topic_result)print(topic_result.record_schema)# ============================= list shard =============================shards_result=dh.list_shard(project_name,topic_name)print(shards_result)# ============================= put tuple records =============================fromdatahub.modelsimportTupleRecord# put records by shard is recommendedrecords0=[]record0=TupleRecord(schema=record_schema,values=[1,'yc1',10.01,True,1455869335000000])record0.put_attribute('AK','47')records0.append(record0)put_result=dh.put_records_by_shard('pydatahub_test','tuple_topic_test',"0",records0)# records0 = []# record0 = TupleRecord(schema=record_schema, values=[1, 'yc1', 10.01, True, 1455869335000000])# record0.shard_id = '0'# record0.put_attribute('AK', '47')# records0.append(record0)# put_result = dh.put_records('pydatahub_test', 'tuple_topic_test', records0)print(put_result)# ============================= put blob records =============================fromdatahub.modelsimportBlobRecord# put records by shard is recommendeddata=Nonewithopen(os.path.join(root_path,'tests/resources/datahub.png'),'rb')asf:data=f.read()records1=[]record1=BlobRecord(blob_data=data)record1.put_attribute('a','b')records1.append(record1)put_result=dh.put_records_by_shard('pydatahub_test','blob_topic_test',"0"records1)# records1 = []# record1 = BlobRecord(blob_data=data)# record1.shard_id = '0'# record1.put_attribute('a', 'b')# records1.append(record1)# put_result = dh.put_records('pydatahub_test', 'blob_topic_test', records1)print(put_result)# ============================= get cursor =============================fromdatahub.modelsimportCursorTypecursor_result=dh.get_cursor(project_name,topic_name,'0',CursorType.OLDEST)print(cursor_result)# ============================= get blob records =============================limit=10blob_cursor_result=dh.get_cursor(project_name,topic_name,'0',CursorType.OLDEST)get_result=dh.get_blob_records(project_name,topic_name,'0',blob_cursor_result.cursor,limit)print(get_result)print(get_result.records)print(get_result.records[0])# ============================= get tuple records =============================limit=10tuple_cursor_result=dh.get_cursor(project_name,topic_name,'0',CursorType.OLDEST)get_result=dh.get_tuple_records(project_name,topic_name,'0',record_schema,tuple_cursor_result.cursor,limit)print(get_result)print(get_result.records)print(get_result.records[0].values)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值