Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >scala-sparkML学习笔记:struct type tinyint size int indices array

scala-sparkML学习笔记:struct type tinyint size int indices array

作者头像
MachineLP
发布于 2019-11-03 13:22:15
发布于 2019-11-03 13:22:15
3.2K00
代码可运行
举报
文章被收录于专栏:小鹏的专栏小鹏的专栏
运行总次数:0
代码可运行

完整题目:scala-sparkML学习笔记:struct type tinyint size int indices array int values array double type

错误类型:

CSV data source does not support struct<type:tinyint,size:int,indices:array<int>,values:array<double>> data type.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
predictPredict.select("user_id", "probability", "label").coalesce(1) 
          .write.format("com.databricks.spark.csv").mode("overwrite") 
          .option("header", "true").option("delimiter","\t").option("nullValue", Const.NULL) 
          .save(fileName.predictResultFile + day) 

predictPredict选择probability列保存会出现'`probability`' is of struct<type:tinyint,size:int,indices:array<int>,values:array<double>> type 这个错误, 因为是DenseVector不可以直接报保存到csv文件, 可以有下面两种解决方法: (主要思想是选择DenseVector中预测为1的那一列,类型为double)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        /*
        import org.apache.spark.sql.SparkSession
        val spark = SparkSession.builder().config("spark.debug.maxToStringFields", 500).enableHiveSupport.appName("QDSpark Pipeline").getOrCreate()
        import spark.implicits._

        val probabilityDataFrame = predictPredict.select("user_id", "probability", "label").rdd.map( row => (row.getInt(0), row.getAs[DenseVector](1)(1), row.getDouble(2)) ).toDF

        probabilityDataFrame.select("_1", "_2", "_3").coalesce(1) 
          .write.format("com.databricks.spark.csv").mode("overwrite") 
          .option("header", "true").option("delimiter","\t").option("nullValue", Const.NULL) 
          .save(fileName.predictResultFile + day) 
        */
        
        val stages = new ArrayBuffer[StructField]() 
        stages += StructField("user_id", IntegerType, true) 
        stages += StructField("probability", DoubleType, true) 
        stages += StructField("label", DoubleType, true) 
        val schema = new StructType( stages.toArray  )
        val probabilityNewRDD = predictPredict.select("user_id", "probability", "label").rdd.map( row => Row(row.getInt(0), row.getAs[DenseVector](1)(1), row.getDouble(2)) )
        val probabilityDataFrame = SparkConfTrait.spark.createDataFrame(probabilityNewRDD, schema)

        probabilityDataFrame.select("user_id", "probability", "label").coalesce(1) 
          .write.format("com.databricks.spark.csv").mode("overwrite") 
          .option("header", "true").option("delimiter","\t").option("nullValue", Const.NULL) 
          .save(fileName.predictResultFile + day) 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/10/29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Spark(RDD,CSV)创建DataFrame方式
spark将csv转换为DataFrame,可以先文件读取为RDD,然后再进行map操作,对每一行进行分割。 再将schema和rdd分割后的Rows回填,sparkSession创建的dataFrame
Tim在路上
2020/08/04
1.6K0
scala-sparkML学习笔记:xgboost进行分布式训练
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
MachineLP
2019/08/31
4.5K0
Spark读写XML文件及注意事项
最近有粉丝问浪尖spark 如何读写xml格式的文件,尤其是嵌套型的,spark本身是不支持xml格式文件读取的,但是databricks开源了一个jar,支持xml文件的读写,浪尖这里给大家介绍一下用法。
Spark学习技巧
2021/03/05
1.8K0
【Spark篇】---SparkSQL初始和创建DataFrame的几种方式
          Hive是Shark的前身,Shark是SparkSQL的前身,SparkSQL产生的根本原因是其完全脱离了Hive的限制。
LhWorld哥陪你聊算法
2018/09/13
2.7K0
【Spark篇】---SparkSQL初始和创建DataFrame的几种方式
数据分析EPHS(2)-SparkSQL中的DataFrame创建
本文的开头,咱们正式给该系列取个名字了,就叫数据分析EPHS系列,EPHS分别是Excel、Python、Hive和SparkSQL的简称。本篇是该系列的第二篇,我们来讲一讲SparkSQL中DataFrame创建的相关知识。
石晓文
2019/07/09
1.7K0
数据分析EPHS(2)-SparkSQL中的DataFrame创建
用Spark-Scala训练LightGBM模型
Spark-scala 可以使用LightGBM模型,既可以进行分布式训练,也可以进行分布式预测,支持各种参数设置。
lyhue1991
2021/08/06
1.9K0
用Spark-Scala训练LightGBM模型
用户画像 | 开发性能调优
马上就快过年了,祝福小伙伴们牛年大吉,牛气冲天。本期文章分享的是赵老师在《方法论与工程化解决解决方案》一书中提到的关于如何在用户画像项目开发中进行性能调优的例子,希望大家耐心看完后有所收获!
大数据梦想家
2021/10/22
5270
Spark综合练习——电影评分数据分析
全部数据: 链接:https://pan.baidu.com/s/1qiO9aRb7yQeuHDtH1cWklw 提取码:nwxj
Maynor
2022/05/08
1.7K0
Spark综合练习——电影评分数据分析
基于spark源码做ml的自定义功能开发
极大方便了我们在做数据预处理时的使用。 但是这明显不够,在机器学习的领域中,还有许许多多的处理方式,这些都没有存在于feature包中。 那要如何去实现?
流川疯
2021/12/08
6570
基于spark源码做ml的自定义功能开发
pyspark-ml学习笔记:pyspark下使用xgboost进行分布式训练
问题是这样的,如果我们想基于pyspark开发一个分布式机器训练平台,而xgboost是不可或缺的模型,但是pyspark ml中没有对应的API,这时候我们需要想办法解决它。
MachineLP
2019/08/29
6K0
基于Apache Spark机器学习的客户流失预测
流失预测是个重要的业务,通过预测哪些客户可能取消对服务的订阅来最大限度地减少客户流失。虽然最初在电信行业使用,但它已经成为银行,互联网服务提供商,保险公司和其他垂直行业的通用业务。
AlexanderTan
2018/02/07
3.5K0
基于Apache Spark机器学习的客户流失预测
【Spark重点难点】SparkSQL YYDS(上)!
Spark 社区在 1.3 版本发布了 DataFrame。那么,相比 RDD,DataFrame 到底有何不同呢?
王知无-import_bigdata
2021/12/15
1K0
【Spark重点难点】SparkSQL YYDS(上)!
2021年大数据Spark(三十二):SparkSQL的External DataSource
在SparkSQL模块,提供一套完成API接口,用于方便读写外部数据源的的数据(从Spark 1.4版本提供),框架本身内置外部数据源:
Lansonli
2021/10/09
2.4K0
Spark为什么只有在调用action时才会触发任务执行呢(附算子优化和使用示例)?
Spark算子主要划分为两类:transformation和action,并且只有action算子触发的时候才会真正执行任务。还记得之前的文章《Spark RDD详解》中提到,Spark RDD的缓存和checkpoint是懒加载操作,只有action触发的时候才会真正执行,其实不仅是Spark RDD,在Spark其他组件如SparkStreaming中也是如此,这是Spark的一个特性之一。像我们常用的算子map、flatMap、filter都是transformation算子,而collect、count、saveAsTextFile、countByKey、foreach则为action算子。
大数据学习与分享
2020/07/09
2.5K0
Spark为什么只有在调用action时才会触发任务执行呢(附算子优化和使用示例)?
scala-sparkML学习笔记:serializable custom transformer with spark-scala
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
MachineLP
2019/08/31
6620
PySpark 读写 CSV 文件到 DataFrame
PySpark 在 DataFrameReader 上提供了csv("path")将 CSV 文件读入 PySpark DataFrame 并保存或写入 CSV 文件的功能dataframeObj.write.csv("path"),在本文中,云朵君将和大家一起学习如何将本地目录中的单个文件、多个文件、所有文件读入 DataFrame,应用一些转换,最后使用 PySpark 示例将 DataFrame 写回 CSV 文件。
数据STUDIO
2023/09/04
1.5K0
PySpark 读写 CSV 文件到 DataFrame
如何使用Apache Spark MLlib预测电信客户流失
Spark MLLib是一个用于在海量数据集上执行机器学习和相关任务的库。使用MLlib,可以对十亿个观测值进行机器学习模型的拟合,可能只需要几行代码并利用数百台机器就能达到。MLlib大大简化了模型开发过程。
用户1415462
2018/05/30
4.2K0
SparkDSL修改版之从csv文件读取数据并写入Mysql
import java.sql.{Connection, DriverManager, PreparedStatement} import org.apache.spark.sql.{DataFrame, Row, SparkSession} import org.apache.spark.sql.functions._ import org.apache.spark.storage.StorageLevel /** * 电影评分数据分析,需求如下: * 需求1:查找电影评分个数超过50,
Maynor
2022/04/06
1.9K0
Spark SQL 项目实战 | 计算各区域热门商品 Top3
计算各个区域前三大热门商品,并备注上每个商品在主要城市中的分布比例,超过两个城市用其他显示。
不温卜火
2020/10/28
1.6K0
Spark SQL 项目实战 | 计算各区域热门商品 Top3
[新星计划]Spark综合练习——电影评分数据分析
老师:给定需求统计评分次数>200的电影平均分Top10,并写入Mysql数据库中
Maynor
2021/06/09
7120
[新星计划]Spark综合练习——电影评分数据分析
相关推荐
Spark(RDD,CSV)创建DataFrame方式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档