Pyspark使用datastax连接器在Cassandra中插入时间。

问题描述 投票:0回答:1

我正在使用Pyspark向Cassandra插入数据。

com.datastax.spark:spark-cassandra-connector_2.11:2.4.0。

在我插入的变量中,也有时间,但连接器不喜欢它。如果我试图发送:'16:51:35.634652',我收到以下错误。

com.datastax.spark.connector.type.TypeConversionException: Cannot convert object 16:51:35.634652 of type class java.lang.String to java.lang.Long.

基本上,转换器不喜欢字符串,它想把它转换为java.lang.long,而实际上在cassandra中是time,在python中是string。

我想知道我怎么才能在Cassandra上把值带过来,而不把任何东西转换成Long,我不认为把时间转换成Long有什么意义。

pyspark cassandra datastax
1个回答
1
投票

找到了 我有一个检查上。

https:/docs.datastax.comendse6.0dse-devdatastax_enterprisesparksparkSupportedTypes.html。

我发现。CQL时间戳 -> SCALA: Long, java.util.Date, java.sql.Date, org.joda.time.DateTime。

所以我把我的变量

import datetime

date_time_1 = '11:12:27.243860'

date_time_obj = datetime.datetime.strptime(date_time_str, %H:%M:%S.%f')

送到接头处,一切正常!

© www.soinside.com 2019 - 2024. All rights reserved.