我使用以下方法将数据从Pyspark插入到Cassandra:
com.datastax.spark:spark-cassandra-connector_2.11:2.4.0
在我插入的变量中,还有时间,连接器不喜欢它。如果我试图发送:'16:51:35.634652‘而我收到了以下错误:
com.datastax.spark.connector.types.TypeConversionException:不能将类型为java.lang.String的对象16:51:35.634652转换为java.lang.Long.。
基本上,转换器不喜欢字符串,它希望将其转换为java.lang.long,而实际上在cassandra中,时间是时间,python是字符串。
我想知道如何才能把卡桑德拉的价值转化成长期,我不认为把时间转换成长时间是有意义的。
发布于 2020-06-11 18:01:35
找到了!我查过:
https://docs.datastax.com/en/dse/6.0/dse-dev/datastax_enterprise/spark/sparkSupportedTypes.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')发送到连接器,一切都很好!
https://stackoverflow.com/questions/62330446
复制相似问题