scala – 如何将空地图类型列添加到DataFrame?
发布时间:2020-12-16 18:13:21 所属栏目:安全 来源:网络整理
导读:我想在数据框中添加一个新的地图类型列,如下所示: |-- cMap: map (nullable = true)| |-- key: string| |-- value: string (valueContainsNull = true) 我试过这段代码: df.withColumn("cMap",lit(null).cast(MapType)).printSchema 错误是: console:132:
我想在数据框中添加一个新的地图类型列,如下所示:
|-- cMap: map (nullable = true) | |-- key: string | |-- value: string (valueContainsNull = true) 我试过这段代码: df.withColumn("cMap",lit(null).cast(MapType)).printSchema 错误是: <console>:132: error: overloaded method value cast with alternatives: (to: String)org.apache.spark.sql.Column <and> (to: org.apache.spark.sql.types.DataType)org.apache.spark.sql.Column cannot be applied to (org.apache.spark.sql.types.MapType.type) 是否有其他方法可以将新列强制转换为Map或MapType?谢谢 解决方法
与其他类型不同,MapType不是您可以按原样使用的对象(它不是扩展DataType的对象),您必须调用MapType.apply(…),它期望键和值类型作为参数(并返回MapType类的一个实例):
df.withColumn("cMap",lit(null).cast(MapType(StringType,StringType))) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在Emacs中重新定义ENTER键
- shell-redirect命令输出到ksh的变量和标准输出
- RESTful Webservice 和 SOAP Webserivce 对比及区别
- angularjs – $sce.trustAsResourceUrl()全局
- Angular 封装 D3 指令
- WebService学习笔记-使用CXF编写基于Spring的Webservice
- bash – Zenity – 从Handbrake CLI输出进展
- scala – 将OOP“装饰器”重构为自由monad结构
- bash – 从现有变量设置名称为string的新变量
- AngularJS使用$rootScope作为数据存储
推荐文章
站长推荐
热点阅读