【问题标题】:Kafka Connect cassandra source -error for Decimal data typeKafka Connect cassandra 源 - 十进制数据类型的错误
【发布时间】:2019-04-22 17:46:43
【问题描述】:

我使用的是 kafka connect cassandra source connector 1.0 版本。我在 cassandra 表中有一个十进制数据类型列(价格),并将其作为 json 从源连接器写入 kafka 主题,它以某种字符串格式写入十进制值,例如"price":"AA=="。 现在它在我的火花流中给出错误,同时转换为“数字格式异常”....??请提出在 kafka 主题中写入值时可能出现的问题。 提前谢谢。

【问题讨论】:

    标签: apache-spark cassandra apache-kafka apache-kafka-connect spark-structured-streaming


    【解决方案1】:

    它看起来像 Kafka Connect + Decimals 中的 known bug。正如问题中所建议的,您需要将数据从 base64 编码字符串“手动”转换为BigDecimal

    BigDecimal bigDecimal = new BigDecimal(
        new  BigInteger(Base64.getDecoder().decode("BfXhAA==")), scale); 
    

    【讨论】:

      【解决方案2】:

      在连接器文件中用 to_char(fieldname) 包围字段

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-12-07
        • 2019-05-01
        • 1970-01-01
        • 2017-12-10
        • 2015-05-11
        • 2013-05-14
        • 2013-10-15
        • 2019-02-25
        相关资源
        最近更新 更多