在Scala Spark中以编程方式将所有特定数据类型列转换为其他数据类型-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

在Scala Spark中以编程方式将所有特定数据类型列转换为其他数据类型

2018-12-05 15:16:49 3598 1

我正在以编程方式尝试转换列的数据类型并遇到一些编码问题。

我修改了这里使用的代码。

数据>>任何数字都被读作字符串。

代码>>

import org.apache.spark.sql
raw_data.schema.fields

.collect({case x if x.dataType.typeName == "string" => x.name})
.foldLeft(raw_data)({case(dframe,field) => dframe(field).cast(sql.types.IntegerType)})

错误>>

:75: error: type mismatch;
found : org.apache.spark.sql.Column
required: org.apache.spark.sql.DataFrame

(which expands to)  org.apache.spark.sql.Dataset[org.apache.spark.sql.Row]
       .foldLeft(raw_data)({case(dframe,field) => dframe(field).cast(sql.types.IntegerType)})
取消 提交回答
全部回答(1)
  • 社区小助手
    2019-07-17 23:18:25

    问题是,结果dframe(field).cast(sql.types.IntegerType)中foldLeft为列,然而,继续迭代一个数据帧的预期。在dframe.drop(field)使用最初来自代码的链接中,它确实返回数据帧并因此起作用。

    要解决此问题,只需使用withColumn哪个将调整特定列,然后返回整个数据帧:

    foldLeft(raw_data)({case(dframe, field) => dframe.withColumn(field, dframe(field).cast(sql.types.IntegerType))})

    0 0
相关问答

1

回答

MAXCOMPUTE的数据上云任务开发数据源配置模块的作用特点是啥?

2021-12-12 22:08:57 489浏览量 回答数 1

1

回答

MAXCOMPUTE的数据上云任务开发分为那几个模块呢?

2021-12-12 22:07:49 566浏览量 回答数 1

1

回答

Spark的数据本地性什么?

2021-12-07 17:36:21 91浏览量 回答数 1

1

回答

Java数据类型中数值型可以分为什么?

2021-10-25 21:44:39 228浏览量 回答数 1

1

回答

您如何以编程方式确定哪些SQL表具有标识列

2019-12-28 23:24:42 591浏览量 回答数 1

1

回答

请问spark jdbc方式访问Hive 为啥本地的可以,远程的就不可以

2019-10-24 16:40:23 304浏览量 回答数 1

1

回答

[@徐雷frank][¥20]Java 中应该使用什么数据类型来代表价格?

2018-12-13 14:18:06 1822浏览量 回答数 1

1

回答

[@倚贤][¥20]Spring 5.0把重注押在了自家的Reactive框架Reactor上,请问响应式编程真的是Java EE的未来吗?

2018-12-10 18:21:26 1715浏览量 回答数 1

1

回答

在spark rdd级别中使用groupby的条件运算符 - scala

2018-12-06 15:33:05 4423浏览量 回答数 1

1

回答

[@wangccsy][¥20]Spring 5.0把重注押在了自家的Reactive框架Reactor上,请问响应式编程真的是Java EE的未来吗?

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