我的数据在通过卡夫卡发送并存储在S3上时编码不正确。你知道吗
它是使用Debezium MySQL连接器以十进制形式插入Kafka的,该连接器遵循以下规则:
创建的Avro模式的相关部分如下所示:
{
"name": "PRICE_SELLING",
"type": [
"null",
{
"type": "bytes",
"scale": 2,
"precision": 64,
"connect.version": 1,
"connect.parameters": {
"scale": "2"
},
"connect.name": "org.apache.kafka.connect.data.Decimal",
"logicalType": "decimal"
}
],
"default": null
}
问题是,当我从主题中读取数据并将其写入S3时,它最终以一串字母的形式出现在S3中。我的直觉是,字节是正确的,但它不应该被表示为字符串,而应该被表示为一个浮点数。你知道吗
示例:
我试过使用struct和ord,但似乎找不到正确的组合将其转换回float形式。你知道吗
以下是我的一些尝试:
>>> struct.unpack('f','JiU8');
(5.088121542939916e-05,)
>>> struct.unpack('>f','JiU8');
(3822926.0,)
我有一个apachespark作业(python2.7)从S3读取数据并将数据移动到OLAP数据库中,因此我希望在插入数据库之前用Python解决数据问题。你知道吗
您可以设置连接器的十进制处理模式到string(请参见here),这可以帮助您使值更容易在接收器端使用。你知道吗
相关问题 更多 >
编程相关推荐