使用bytearrays数组创建Spark DataSet时出错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

使用bytearrays数组创建Spark DataSet时出错

2018-12-06 15:13:18 1657 1

我正在使用case类和spark.sql({query}).as[MyCaseClass]语法在scala中创建Spark数据集

我尝试创建一个定义为我的数据集 Array[Array[Byte]]

case class HbaseRow(
ip: Array[Array[Byte]]
)

val hbaseDataSet = spark
.sql("""select ip from test_data""")
.as[HbaseRow]
通常这样可以正常工作,但是如果字节数组的数组失败了。

java.lang.ClassCastException:
org.apache.spark.sql.types.BinaryType$ cannot be cast to org.apache.spark.sql.types.ObjectType
at org.apache.spark.sql.catalyst.ScalaReflection

$$ anonfun$org$apache$spark$sql$catalyst$ScalaReflection $$

arrayClassFor$1.apply(ScalaReflection.scala:106)
at org.apache.spark.sql.catalyst.ScalaReflection

$$ anonfun$org$apache$spark$sql$catalyst$ScalaReflection $$

arrayClassFor$1.apply(ScalaReflection.scala:95)
at scala.reflect.internal.tpe.TypeConstraints$UndoLog.undo(TypeConstraints.scala:56)
该列是一个IP地址的spark数组,编码为字节数组本身。

取消 提交回答
全部回答(1)
  • 社区小助手
    2019-07-17 23:18:32

    使用Option定义case class 类

    scala> case class HbaseRow(
    | ip: Array[Option[Array[Byte]]]
    | )
    defined class HbaseRow

    scala> df.select($"ip").as[HbaseRow]
    res13: org.apache.spark.sql.Dataset[HbaseRow] = [ip: array]

    0 0
相关问答

1

回答

seata中日志里有打印commit或者rollback的信息,但是实际并没有执行操作,是什么原因?

2022-08-08 17:33:08 698浏览量 回答数 1

0

回答

Jupyter中R语言回归树中的参数snip.rpart(<rt>, c(4,7))表示什么?

2021-12-01 22:26:54 132浏览量 回答数 0

1

回答

Jupyter中R语言回归树中的snip.rpart(<rt>)方法表示什么?

2021-12-01 21:47:25 75浏览量 回答数 1

1

回答

flink kafka connector 报错:ByteArraySerialize #Flink

2021-01-23 20:45:00 782浏览量 回答数 1

1

回答

使用物联网的android 的sdk 下载的demo导入Android Studio 一直卡住了

2019-03-13 15:42:41 730浏览量 回答数 1

1

回答

使用Skaffold部署外部helm chart with

2018-12-14 15:11:30 2223浏览量 回答数 1

2

回答

求RSA非对称加密算法过程 P.Q.R.S.T.U.V.W.X.Y.Z 对应3.5.7.11.13.17.19.23.29.31.37求mod算法详细过程

2018-07-15 11:55:22 3066浏览量 回答数 2

1

回答

ruby sdk删除Bucket

2018-06-29 06:54:02 530浏览量 回答数 1

1

回答

ruby sdk设置Bucket的访问权限

2017-12-12 20:28:56 540浏览量 回答数 1

4

回答

请问是否可以使用odps python sdk进行开发

2016-10-27 12:52:10 5665浏览量 回答数 4
+关注
社区小助手
社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。
12
文章
824
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载