Spark
小白鸽
啥都会一点,啥都不精的半吊子程序员
展开
-
Spark-sql array<struct>中 struct字段截取(spark2.4版本以上)
原数据{"date":"20200512","from":"银川","requestTime":"14:12:38","sceneCode":"010035","seats":[{"flag":0,"oldPrice":0,"price":"70","seatFlag":false,"seatName":"二等座","seats":21},{"flag":0,"oldPrice":0,"price":"112","seatFlag":false,"seatName":"一等座","seats":21},{原创 2020-05-12 17:59:23 · 2346 阅读 · 0 评论 -
Spark多行合并一行collect_list使用
有这样需求,原始数据如下图。开发需要把start_city_id和end_city_id作为key,value是一个list集合,里面包含这些所有所有字段详细信息,存到redis。 |-- first_traffic_type: string (nullable = true) |-- first_traffic_code: string (nullable = true) |-- fi...原创 2019-03-26 11:21:16 · 5208 阅读 · 0 评论 -
Spark DStream的mapWithStates和updateStateByKey使用
mapWithStates使用demo直接上核心代码:读kafka消息, String topics = &amp;amp;amp;amp;quot;topic-test&amp;amp;amp;amp;quot;; Set&amp;amp;amp;amp;amp;lt;String&amp;amp;amp;amp;amp;gt; topicsSet = new HashSet&amp;amp;a原创 2018-11-12 10:33:40 · 778 阅读 · 0 评论 -
Spark自定义UDF
原始数据与结构+-------------+----------------+-----------+---------------------+----------------+---------+|start_city_id|transfer_city_id|end_city_id|transfer_traffic_type|end_traffic_type|total_num|+--...原创 2018-12-26 11:34:07 · 592 阅读 · 0 评论 -
Spark Broadcast使用
软件版本Spark-2.1.3,编程语言:java需求:从用户画像中抽出所需的用户标签memberidlabelid44548154405020101,05030101,05050101,07010301,07040101,06010101,04050301,05010101,01070101,01130501,02010101,04040101,01120501,040...原创 2019-01-11 17:28:57 · 5492 阅读 · 0 评论 -
Spark运行Xgboost且保存为PMML
软件版本:Spark版本2.1.3xgboost4j-spark 0.72maven依赖 &amp;amp;lt;properties&amp;amp;gt; &amp;amp;lt;project.build.sourceEncoding&amp;amp;gt;UTF-8&amp;amp;lt;/project.build.sourceEncoding&amp;amp;gt;原创 2019-01-23 12:06:58 · 4466 阅读 · 17 评论 -
Spark-Sql一行变多行explode使用
原数据如下:+--------------+------------+----------+|from_city_name|to_city_name|search_num|+--------------+------------+----------+| 无锡市| 漯河市| 3|| 南部县| 库尔勒市|...原创 2019-01-30 11:05:49 · 12280 阅读 · 0 评论 -
Spark读CSV文件
spark可以自动csv文件判断字符类型原文件内容如下:parent_order_no,member_id,union_id,create_time,create_dateTW168E93658FBHBSATPTX9866,33459866,ohmdTt1gcNVNORpm_onak1nOTduE,2019-02-14 07:34:39,2019-03-07TW169383A50F2RPX...原创 2019-03-07 14:25:26 · 5157 阅读 · 0 评论 -
Spark-Sql数组array类型转string
原数据和表结构+----------+------------+------------+-------+--------+-----------+|train_code|station_name|station_code|is_late|late_min|arrive_date|+----------+------------+------------+-------+--------+-...原创 2019-04-02 15:07:38 · 11671 阅读 · 2 评论 -
Spark-ml交叉验证demo
原始数据tableData结构root |-- user_id: integer (nullable = false) |-- city: string (nullable = true) |-- category: integer (nullable = false) |-- from_place: string (nullable = true) |-- to_place: str...原创 2019-04-03 15:45:37 · 820 阅读 · 0 评论 -
Spark-ml模型保存为PMML
spark版本2.1.3maven设置 <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-mllib_2.11</artifactId> <version>2.1...原创 2019-04-03 17:01:58 · 3876 阅读 · 15 评论 -
Spark解决task任务运行时间过长
今天补数据的时候,发现突然任务运行时间比以往过长。查看运行状态,发现有一个task运行过长。解决方法,开启spark.speculation,配置如下:spark.speculation truespark.speculation.interval 100:检测周期,单位毫秒;spark.speculation.quantile 0.75:完成task的百分比时启动推测;spark.s...原创 2019-04-18 14:21:39 · 10631 阅读 · 0 评论 -
Spark常用函数(java)
//窗口row_number使用import org.apache.spark.sql.expressions.Window;import org.apache.spark.sql.expressions.WindowSpec;WindowSpec w = Window.partitionBy("start_station_code", "end_station_code").orderBy...原创 2019-06-20 15:55:57 · 724 阅读 · 0 评论 -
Spring-boot与Spark不兼容问题:An attempt was made to call the method org.codehaus.commons.compiler.Location
问题场景spring-boot程加载hdfs上spark训练好的模型,本地起spark-local方式去做预测。软件版本 &lt;parent&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-p原创 2018-11-09 17:52:10 · 16635 阅读 · 0 评论 -
Spark-ml模型保存为PMML格式,PMML version不兼容问题。
最近使用spark-ml做数据模型训练,考虑到怎么把模型部署到线上环境。本尝试spring-boot启动spark-local模式预测,发现线上预测需要200ms~300ms,耗时太多。所以考虑把spark模型转换为pmml格式。我的spark集群版本为2.1.3原创 2018-11-09 10:21:40 · 6455 阅读 · 8 评论 -
Spark本地开发环境scala版本
SBT-Scala 参考上篇http://blog.csdn.net/baifanwudi/article/details/78354339 配置hadoop环境变量新建SBT项目sbt配置name := "SparkScalaTest"version := "1.0"scalaVersion := "2.11.8"libraryDependencies += "org.apache.s原创 2017-11-01 14:44:53 · 1485 阅读 · 0 评论 -
Spark 读取mysql表统计
添加maven依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency>读取数据库package com.spa原创 2017-11-17 11:20:42 · 1834 阅读 · 0 评论 -
spark2.1 Row_number,Window使用
有这种情况,一个项目下一个设备多次上报检测成功记录,但我只要最早上报记录代码如下:package com.sparkimport org.apache.spark.sql.SparkSessionimport org.apache.spark.sql.expressions.Windowimport org.apache.spark.sql.functions._object LastestTi原创 2017-11-17 11:43:22 · 1145 阅读 · 0 评论 -
Spark读JDBC提前过滤数据
读取Mysql方法见: http://blog.csdn.net/baifanwudi/article/details/78559177有这样一个需求,读取mysql某一个表某一天数据; String beginTime = day+ " 00:00:00"; String endTime = day + " 23:59:59"; Dataset<原创 2017-12-11 14:22:22 · 1349 阅读 · 1 评论 -
Spark Streaming消费kafka,不同topic-join实时统计
前言习惯用了Spark Sql,做实时统计的时候,也想用Structured Streaming . 但发现一个特殊情况 目前Structured Streaming 不支持两个topic,join http://spark.apache.org/docs/latest/structured-streaming-programming-guide.html所以用原始Streaming做处理原创 2017-12-06 15:04:46 · 6745 阅读 · 0 评论 -
Spark dstream转structured streaming
上篇讲述不同topic之间Join,很多聚合操作如group by,不如SparkSql灵活.所以想将join后topic转变成DataSet格式. 发现官网有现成demo例子 words.foreachRDD((rdd, time) -> { SparkSession spark = JavaSparkSessionSingleton.getInstance(rdd.context(原创 2017-12-15 14:26:52 · 1591 阅读 · 0 评论 -
spark读json文件,构建不存在字段.
spark可以根据json文件构建表结构. 但是如果json文件中没有这个字段,需要添上, 或者这行有些字段必须要有的但是没有,那么这行为垃圾数据需要直接pass的.spark提供了schema格式.这里是java代码import org.apache.spark.sql.types.DataTypes;import org.apache.spark.sql.types.S原创 2018-01-31 20:52:11 · 1485 阅读 · 0 评论 -
spark数据统计项目(Scala版)
最近整理发现以前写的scala数据统计废弃不用了,但是里面很多语法当时查了很多文档.比如活跃统计package com.adups.stats.offlineimport com.adups.base.Utility.sparkimport com.adups.bean.impl.StatDeviceActiveUsersimport com.adups.config.Hd...原创 2018-03-07 16:00:09 · 1828 阅读 · 0 评论 -
Spark数据统计(java版)
Java数据统计spark版本2.1.2,包含Dateset使用,SparkStreaming数据统计项目地址为https://github.com/baifanwudi/big-data-analysis代码示例SparkSql demo: 读取json文件写入hivepackage com.adups.offline.hive.log;import c...原创 2018-04-19 12:39:49 · 2501 阅读 · 0 评论 -
Spark 2.0 读写Elasticsearch 6
本地启动ES,我的版本是ES 6.2.4maven配置 &amp;lt;properties&amp;gt; &amp;lt;project.build.sourceEncoding&amp;gt;UTF-8&amp;lt;/project.build.sourceEncoding&amp;gt; &amp;lt;spark.versio原创 2018-05-09 19:56:42 · 2355 阅读 · 0 评论 -
Spark2 Dataset的FlatMapGroups,FlatMap使用
数据表结构SparkSession spark = SparkSession.builder().appName(&amp;amp;amp;amp;quot;app-train&amp;amp;amp;amp;quot;).master(&amp;amp;amp;amp;quot;local[*]&amp;amp;amp;amp;quot;).getOrCreate();Dataset&amp;amp原创 2018-05-26 15:42:02 · 6849 阅读 · 0 评论 -
Spark-sql 计算某行值占累加总数的百分比
先看原数据结构和数据样例SparkSession spark=SparkSession.builder().master("local[*]").getOrCreate();Dataset<Row> table=spark.read().json("src/main/data/transfer_line_count.json");table.printSchema(...原创 2018-08-11 18:05:31 · 9856 阅读 · 3 评论 -
Spark Java版 windows本地开发环境
安装IntelliJ IDEA下载地址:https://www.jetbrains.com/idea/download/#section=windows选择Community版本安装安装好后启动,我这里选择UI主题默认Plugins.安装scala插件.配置hadoop环境变量下载winutils.exe https://github.com/steveloughran/winutils我这里原创 2017-10-26 15:23:18 · 2744 阅读 · 0 评论