spark从cassandra error org.apache.spark.unsafe.types.utf8string读取数据不是字符串架构的有效外部类型

jexiocij  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(595)

我有一个cassandra表,创建如下(在cqlsh中)

CREATE TABLE blog.session( id int PRIMARY KEY, visited text);

我把数据写给Cassandra,结果是这样的

id  | visited
1   |  Url1-Url2-Url3

然后我试着读它使用SparkCassandra连接器(2.5.1)。

val sparkSession = SparkSession.builder()
    .master("local")
    .appName("ReadFromCass")
    .config("spark.cassandra.connection.host", "localhost")
    .config("spark.cassandra.connection.port", "9042")
    .getOrCreate()

  import sparkSession.implicits._
  val readSessions = sparkSession.sqlContext
    .read
    .cassandraFormat("table1", "keyspace1").load().show()

但是,它似乎无法读取所访问的文本,因为它是一个文本对象,单词之间有破折号。错误如下所示:

org.apache.spark.unsafe.types.UTF8String is not a valid external type for schema of string

关于spark为什么读不到这个以及如何修复它有什么想法吗?

3bygqnnd

3bygqnnd1#

错误似乎是spark cassandra连接器的版本。使用“3.0.0-beta”代替“2.5.1”

相关问题