gpt4 book ai didi

python - 如何在不更改字节的情况下将字符串转换为 float ?

转载 作者:行者123 更新时间:2023-11-28 18:11:57 24 4
gpt4 key购买 nike

我的数据在通过 Kafka 发送并存储在 S3 上时编码不正确。

它是使用 Debezium MySQL 连接器以小数形式插入到 Kafka 中的,它遵循以下规则:

decimal typing rules

创建的 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 中作为一串字母。我的直觉是这些字节是正确的,但不应表示为字符串,而应仅表示为 float 。

例子:

  • 'JiU8' 应该是 24999.00
  • 'JiDw' 应该是 24988.00
  • 'RxFc' 应该是 46575.00
  • 'LyZQ' 应该是 30900.00

我尝试过使用 struct 和 ord,但似乎找不到合适的组合来将其转换回浮点形式。

这是我的一些尝试:

>>> struct.unpack('f','JiU8');
(5.088121542939916e-05,)
>>> struct.unpack('>f','JiU8');
(3822926.0,)

我有一个 Apache Spark 作业 (Python 2.7) 从 S3 读取数据并将数据移动到 OLAP 数据库中,所以我希望我可以在插入数据库之前用 Python 解决数据问题。

最佳答案

您可以将连接器的 decimal.handling.mode 设置为 string (请参阅 here )这可能会帮助您使值更容易在接收器上使用边。

关于python - 如何在不更改字节的情况下将字符串转换为 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50500819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com