scala
文章平均质量分 50
scala
宝哥大数据
大数据、机器学习、深度学习
展开
-
Spark: scala.MatchError (of class org.apache.spark.sql.catalyst.expressions.GenericRowWithSchema
spark scala原创 2022-10-15 08:57:10 · 627 阅读 · 0 评论 -
Spark ML 构建回归模型
一、数据的加载1.1、共享单车数据属性1.2、加载数据 val rawData = spark.read .format("csv") .option("header", true) .load("C:\\Users\\12285\\Desktop\\hour.csv") rawData....原创 2019-06-01 16:59:33 · 1204 阅读 · 0 评论 -
Spark ML --- VectorAssembler
VectorAssembler是将给定列列表组合成单个向量列的转换器。为了训练逻辑回归和决策树等ML模型,将原始特征和不同特征转换器生成的特征组合成一个特征向量是很有用的。VectorAssembler接受以下输入列类型:所有数值类型、布尔类型和向量类型。在每一行中,输入列的值将按照指定的顺序连接到一个向量中。 假设我们有一个带有id,hour,mobile,userFeatures和cl...翻译 2019-06-01 17:18:16 · 6614 阅读 · 0 评论 -
独热码(One-Hot编码)
OneHotEncoder has been deprecated in 2.3.0 and will be removed in 3.0.0. Please use OneHotEncoderEstimator instead.OneHotEncoder 独热编码(OneHotEncoder)将标签指标映射为二值向量,其中最多一个单值。import org.apache.spark.ml...原创 2019-06-02 10:39:50 · 1164 阅读 · 0 评论 -
Spark ML中TF-IDF
一、TF-IDF 概念二、Spark ML 中实现原创 2019-05-29 22:05:58 · 414 阅读 · 0 评论 -
分词器
分词器(Tokenization)将文本划分为独立个体(通常为单词)。package org.apache.spark.examples.mlimport org.apache.spark.ml.feature.{RegexTokenizer, Tokenizer}import org.apache.spark.sql.functions._import org.apache.spar...原创 2019-05-29 22:45:09 · 1122 阅读 · 0 评论 -
标记点(Labeled point)
&emsp&mesp;标记点是由一个本地向量(Local Vector)和一个标签(使用double类型存储)组成, 在MLlib标签在监督学习算法中,我们可以在分类和回归算法中使用标记点。 def testLocalPoint() = { val posLp = LabeledPoint(1.0, Vectors.dense(1.0, 0.0, 3.0))...原创 2019-06-03 09:00:20 · 1881 阅读 · 0 评论 -
本地矩阵(Local matrix)
由行索引, 列索引, 类型值, 存放在单机中。 def testLocalMatrix() = { // 创建一个稠密矩阵 ((1.0, 2.0), (3.0, 4.0), (5.0, 6.0)) val dm = Matrices.dense(3, 2, Array(1.0, 3.0, 5.0, 2.0, 4.0, 6.0)) prin...翻译 2019-06-03 09:24:48 · 917 阅读 · 0 评论 -
基础统计(Basic Statistics)
一、摘要统计1.1、对于RDD[Vector]类型的列统计信息, Spark MLlib提供了一种名为colStats()的方法, 即摘要统计(Summary statistic)。可以统计每类的最大值、最小值、均值、方差、总数、L1范数、L2范数等。package org.apache.spark.examples.mllibimport org.apache.spark.{SparkC...原创 2019-06-03 23:33:30 · 1612 阅读 · 0 评论 -
Spark M构建聚类模型
一、聚类的思想及原理 聚类是一种无监督学习,它与分类的不同,聚类所要求划分的类是未知的。聚类算法的思想就是物以类聚的思想,相同性质的点在空间中表现的较为紧密和接近,主要用于数据探索与异常检测。 聚类分析是一种探索性的分析,在分类的过程中,人们不必事先给出一个分类的标准,它能够从样本数据出发,自动进行分类。聚类分析也有很多方法,使用不同方法往往会得到不同的结论。从实际应用的角度看,聚类分析是...原创 2019-06-04 08:45:01 · 830 阅读 · 0 评论 -
scala 中的equal问题(未解决)
class ReportKey extends Serializable { private var date: String = null private var area: Short = 0 private var province: Short = 0 private var city: Short = 0 private var maincate ...原创 2019-06-24 21:11:42 · 475 阅读 · 0 评论 -
sortWith与sortBy
import org.apache.spark.{SparkConf, SparkContext}/** * 先分组, 后排序<br> * sorted:<br> * sortWith:<br> * sortBy:<br> */object GroupTopN { val conf = new SparkConf()...原创 2019-09-09 14:06:10 · 1227 阅读 · 0 评论 -
reduceByKey聚合,key相同, 结果没有合并的问题
问题: 对一个维度McLocEcuTypeKey(自定义的Key), 使用reduceByKey对数据进行聚合,然后入库,但是入库是维度Key重复。McLocEcuTypeKey就是入库的索引保证唯一, McLocEcuTypeKey也重写了equals和hashCode方法。/** * 维度key: * (date, areaId, provinceId, cityId, ...原创 2019-10-11 11:01:42 · 856 阅读 · 0 评论 -
向量-索引变换(VectorIndexer)
VectorIndexer VectorIndexer解决向量数据集中的类别特征索引。它可以自动识别哪些特征是类别型的,并且将原始值转换为类别索引。它的处理流程如下: 1.获得一个向量类型的输入以及maxCategories参数。 2.基于不同特征值的数量来识别哪些特征需要被类别化,其中最多maxCategories个特征需要被类别化。 3.对于每一个类别特征计算0-based(从...原创 2019-05-31 23:32:35 · 1875 阅读 · 0 评论 -
scala.util.control.BreakControl
使用util.control.Breaks.break模拟java中的break for (tu <- it.toList) { mileageSum += tu._1 electricitySum += tu._2 personNum += 1 ...原创 2019-03-31 23:16:01 · 2441 阅读 · 0 评论 -
scala中的Short与Int问题
import org.apache.hadoop.hbase.CellUtilimport org.apache.hadoop.hbase.client.Resultimport org.apache.hadoop.hbase.util.Bytes/** * Created by chb on 2019/3/30. */object HbaseUtil { val def...原创 2019-03-30 15:33:11 · 849 阅读 · 0 评论 -
Spark之缓存策略
spark 缓存策略 cache checkpoint 血统 宽窄依赖原创 2017-04-29 09:37:14 · 3441 阅读 · 1 评论 -
Scala基础知识
#一、scala的数据类型案例2.1 val 表示常量, 不可修改, 注意和var的区别2.2.var表示变量, 可以修改scala> var b = "name"b: String = namescala> b="tel"b: String = telscala>使用编译器自动推断类型2.3、懒加载变量三、数据类型3.2• 其中所有类型的基类与Any • Any之后分为两个AnyVal与Any原创 2017-04-21 10:14:57 · 472 阅读 · 2 评论 -
Scala基础知识之集合
Scala基础知识之集合一、如果用数字循环的话,可以使用to或until函数,例如//to 打印到100scala> for (i <- 0 to 100) println("num:" + i)//util打印到99scala> for (i <- 0 until 100) println("num:" + i)二、也可以使用多个if语句进行多层过滤原创 2017-04-21 13:08:40 · 585 阅读 · 2 评论 -
Scala基础知识之对象
前言第一点,Scala语言中没有static成员存在,第二,Scala允许 以某种方式去使用static成员这个就是伴生机制,所谓伴生,就是在语言层面上,把static 成员和非static成员用不同的表达方式,class和object,但双方具有相同的package和name,但是最终编译器会把他们编译到一起,这是纯粹从语法层面上的约定。通过javap可以反编译看到。另外一个小魔法,就是单例,单例原创 2017-04-21 13:31:35 · 551 阅读 · 0 评论 -
Scala基础知识之函数
Scala基础知识之函数使用de定义函数 函数名 (参数列表): 返回类型 = {function body }注意类型Int 必须要首字母大写变量可以推断返回类型,所以函数也可以省略返回值类型再次简化, 变成一行scala> def max(x:Int, y:Int) = if(x>y) x else ymax: (x: Int, y: Int)Intscala> max(2,3)res30原创 2017-04-21 10:58:01 · 678 阅读 · 1 评论 -
Spark--TopN
前言为了获取一列值的前五个最值,我们需要对该列数据进行排序, 取前五个,但是sortByKey 是按照(key,value)格式,对key进行排序,所以我们需要将数据构建成(key, value)形式,然后按照前面Spark-二次排序,然后将key剔除, 剩下value为排序好的序列, 使用take获取前五个值。具体实现import org.apache.spark._ob...原创 2017-05-30 16:10:08 · 598 阅读 · 0 评论 -
spark的排错和调优
1、错误出现scala版本冲突问题The version of scala library found in the build path of TestSpark (2.10.5) is prior to the one provided by scala IDE (2.11.7). Setting a Scala Installation Choice to match. TestSpar原创 2017-04-29 08:31:36 · 2746 阅读 · 1 评论 -
Eclipse 设置问题
1、scala 版本不兼容问题问题:Description Resource Path Location TypeThe version of scala library found in the build path of implicitDemo (2.10.5) is prior to the one provided by scala IDE (2.11.7). Sett原创 2017-05-30 15:29:57 · 602 阅读 · 0 评论 -
spark算子---mapPartitions
mapPartitions算子 /** * Return a new RDD by applying a function to each partition of this RDD. * * `preservesPartitioning` indicates whether the input function preserves the partitioner, whi...原创 2018-05-11 12:28:19 · 11972 阅读 · 2 评论 -
Scala的foldLeft和foldRight
首先看一个例子, 发现 /:不知道是什么 点进去发现, /:实际是foldLeft操作 def /:[B](z: B)(op: (B, A) => B): B = foldLeft(z)(op) def foldLeft[B](z: B)(op: (B, A) => B): B = { var result = z this.seq foreach...原创 2018-05-19 09:22:05 · 2466 阅读 · 1 评论 -
Scala基础知识之类,对象
一、类1.1、类的定义与调用package com.chb.scalaTest/** * 类的定义 */class ClassTest { private val v1 = "Hello " //私有字段 val常量 var v2:String = "World" //var变量 :String 类型是可以省略的, scala可以进行推断 va...原创 2018-05-13 11:30:12 · 252 阅读 · 0 评论 -
Scala基础知识之继承
一、拓展 (继承)extends是Scala中实现继承的保留字 思考:单例对象是否能被继承呢?二、 重写(Override) 规则例如:三、抽象(abstract) 四 、保护 (final, protected)五、 构造子类构造器的运行在超类构造器运行之后在超类的构造器中调用的成员被子类重写后,返回值可能不正确: ...原创 2018-05-13 11:54:21 · 284 阅读 · 1 评论 -
map的取值问题(NoSuchElementException: key not found: sdfs )
今天做一个过去的程序, 从map中匹配关键字, 使用map(“key”), 报错NoSuchElementException: key not found: sdfs一直被NoSuchElementException混淆, 不知道什么意思定义一个mapscala> val searchEngines = Map( | "www.google.cn" -> "q...原创 2018-05-20 22:37:04 · 2929 阅读 · 1 评论 -
scala
Scala基础知识数据类型函数集合对象伴生对象类继承方法foldLeft和foldRight原创 2018-11-17 10:20:31 · 172 阅读 · 0 评论 -
Spark之WordCount
spark之WordCount, 使用scala, 和java原创 2017-04-29 08:29:47 · 624 阅读 · 0 评论