ibm streams avro集成
streamsx.avro的Python项目详细描述
概述
提供用于以apache avro格式序列化和反序列化消息的函数。
此包将com.ibm.streamsx.avro工具包公开为python方法,用于上的流分析服务 ibm cloud和ibm streams,包括ibmcloud-pak for data。
样品
流应用程序序列化和反序列化消息的简单示例:
from streamsx.topology.topology import * from streamsx.topology.schema import CommonSchema, StreamSchema from streamsx.topology.context import submit import streamsx.avro as avro topo = Topology() avro_schema = '{"type" : "record", "name" : "hw_schema", "fields" : [{"name" : "a", "type" : "string"}]}' s = topo.source([{'a': 'Hello'}, {'a': 'World'}, {'a': '!'}]).as_json() # convert json to avro blob o = avro.json_to_avro(s, avro_schema) # convert avro blob to json res = avro.avro_to_json(o, avro_schema) res.print() submit('STREAMING_ANALYTICS_SERVICE', topo) # Use for IBM Streams including IBM Cloud Pak for Data # submit ('DISTRIBUTED', topo, cfg)