3

org.apache.spark.mllib.linalg.Vector가 포함 된 dataframe을 열에 저장해야한다는 요구 사항이 있습니다. 데이터 프레임에서 카산드라에 테이블을 만드는 동안 오류가 발생합니다.데이터 프레임의 org.apache.spark.mllib.linalg.Vector를 cassandra에 저장하는 방법

java.lang.Exception: Cassandra Writer Failed. java.lang.IllegalArgumentException: Unsupported type: [email protected] 
     at com.datastax.spark.connector.types.ColumnType$.unsupportedType$1(ColumnType.scala:132) 
     at com.datastax.spark.connector.types.ColumnType$.fromSparkSqlType(ColumnType.scala:155) 
     at com.datastax.spark.connector.mapper.DataFrameColumnMapper$$anonfun$1.apply(DataFrameColumnMapper.scala:18) 
     at com.datastax.spark.connector.mapper.DataFrameColumnMapper$$anonfun$1.apply(DataFrameColumnMapper.scala:16) 
     at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) 
     at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) 
     at scala.collection.immutable.List.foreach(List.scala:318) 
     at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) 
     at scala.collection.AbstractTraversable.map(Traversable.scala:105) 
     at com.datastax.spark.connector.mapper.DataFrameColumnMapper.newTable(DataFrameColumnMapper.scala:16) 
     at com.datastax.spark.connector.cql.TableDef$.fromDataFrame(Schema.scala:206) 

답변

2

이 형식의 이진 값을 저장하려면 바이트 배열로 변환 한 다음 blob 열로 저장해야합니다.

값의 집합으로 저장하려면 적절한 변환을 스칼라 컬렉션에 수행해야합니다.

관련 문제