随笔分类 -  Spark

摘要:在机器学习中非常重要的任务就是模型选择,或者使用数据来找到具体问题的最佳的模型和参数,这个过程也叫做调试(Tuning)。 调试可以在独立的估计器中完成(如逻辑斯蒂回归),也可以在包含多样算法、特征工程和其他步骤的工作流中完成。用户应该一次性调优整个工作流,而不是独立的调整PipeLine中的每个组 阅读全文
posted @ 2019-12-16 14:50 nxf_rabbit75 阅读(542) 评论(0) 推荐(0) 编辑
摘要:推荐算法是计算机专业中的一种算法,通过一些数学算法,推测出用户可能喜欢的东西。 基于内容的信息推荐方法的理论依据主要来自于信息检索和信息过滤。根据用户过去的浏览记录来向用户推荐用户没有接触过的推荐项。 基于协同过滤的推荐算法理论上可以推荐世界上的任何一种东西。图片、音乐、样样可以。 协同过滤算法主要 阅读全文
posted @ 2019-12-16 14:44 nxf_rabbit75 阅读(374) 评论(0) 推荐(0) 编辑
摘要:KMeans 是一个迭代求解的聚类算法。 其属于划分(Partitioning)型的聚类方法,即首先创建K个划分,然后迭代地将样本从一个划分转移到另一个划分来改善最终聚类的质量。 ML包下的KMeans方法位于org.apache.spark.ml.clustering包下,其过程大致如下: 根据给 阅读全文
posted @ 2019-12-16 13:26 nxf_rabbit75 阅读(342) 评论(0) 推荐(0) 编辑
摘要:一、逻辑斯蒂回归分类器 逻辑斯蒂回归(logistic regression)是统计学习中的经典分类方法,属于对数线性模型。logistic回归的因变量可以是二分类的,也可以是多分类的。 任务描述:以iris数据集(iris)为例进行分析(iris下载地址:http://dblab.xmu.edu. 阅读全文
posted @ 2019-12-15 21:44 nxf_rabbit75 阅读(844) 评论(0) 推荐(0) 编辑
摘要:一、特征抽取 1.TF-IDF “词频-逆向文件频率”(TF-IDF)是一种在文本挖掘中广泛使用的特征向量化方法,它可以体现一个文档中词语在语料库中的重要程度。词语由t表示,文档由d表示,语料库由D表示。 词频TF(t,d)是词语t在文档d中出现的次数 文件频率DF(t,D)是包含词语的文档的个数 阅读全文
posted @ 2019-12-15 18:42 nxf_rabbit75 阅读(588) 评论(0) 推荐(0) 编辑
摘要:一、机器学习工作流概念 1.DataFrame 使用Spark SQL中的DataFrame作为数据集,它可以容纳各种数据类型。较之RDD,DataFrame包含了schema 信息,更类似传统数据库中的二维表格。 它被ML Pipeline用来存储源数据。例如,DataFrame中的列可以是存储的 阅读全文
posted @ 2019-12-15 16:33 nxf_rabbit75 阅读(1038) 评论(0) 推荐(0) 编辑
摘要:一、什么是机器学习 机器学习可以看做是一门人工智能的科学,该领域的主要研究对象是人工智能。机器学习利用数据或以往的经验,以此优化计算机程序的性能标准。 机器学习强调三个关键词:算法、经验、性能 二、基于大数据的机器学习 (1)map-reduce (2)Spark 三、Spark 机器学习库MLli 阅读全文
posted @ 2019-12-14 21:50 nxf_rabbit75 阅读(309) 评论(0) 推荐(0) 编辑
摘要:一、Spark流计算组件的演进 二、Structured Streaming的基本原理 Structured Streaming将数据建模成一个结构化的数据表DataFrame,后到达的数据就是一条一条的记录不断往里追加。 三、为什么设计Structured Streaming 1.重新抽象了流失计 阅读全文
posted @ 2019-12-14 21:43 nxf_rabbit75 阅读(178) 评论(0) 推荐(0) 编辑
摘要:在Spark应用中,外部系统经常需要使用到Spark DStream处理后的数据,因此,需要采用输出操作把DStream的数据输出到数据库或者文件系统中。 一、把DStream输出到文本文件中 请在NetworkWordCountStateful.scala代码文件中输入以下内容: package 阅读全文
posted @ 2019-12-14 21:13 nxf_rabbit75 阅读(182) 评论(0) 推荐(0) 编辑
摘要:一、DStream无状态转换操作 无状态转换操作:之前“套接字流”部分介绍的词频统计,就是采用无状态转换,每次统计,都是只统计当前批次到达的单词的词频,和之前批次无关,不会进行累计。 1.map(func) 对源DStream的每个元素,采用func函数进行转换,得到一个新的Dstream。 2.f 阅读全文
posted @ 2019-12-12 23:35 nxf_rabbit75 阅读(226) 评论(0) 推荐(0) 编辑
摘要:一、Kafka简介 Kafka是一种高吞吐量的分布式发布订阅消息系统,用户通过Kafka系统可以发布大量的消息,同时也能实时订阅消费消息。Kafka可以同时满足在线实时处理和批量离线处理。 在公司的大数据生态系统中,可以把Kafka作为数据交换枢纽,不同类型的分布式系统(关系数据库、NoSQL数据库 阅读全文
posted @ 2019-12-12 11:57 nxf_rabbit75 阅读(614) 评论(0) 推荐(0) 编辑
摘要:一、文件流 1.在spark-shell中创建文件流 进入spark-shell创建文件流。另外打开一个终端窗口,启动进入spark-shell 上面在spark-shell中执行的程序,一旦你输入ssc.start()以后,程序就开始自动进入循环监听状态,屏幕上会显示一堆的信息,如下: 在“/us 阅读全文
posted @ 2019-12-11 21:03 nxf_rabbit75 阅读(521) 评论(0) 推荐(0) 编辑
摘要:一、Spark Streaming工作机制 在Spark Streaming中,会有一个组件Receiver,作为一个长期运行的task跑在一个Executor上; 每个Receiver都会负责一个input DStream(比如从文件中读取数据的文件流,比如套接字流,或者从Kafka中读取的一个输 阅读全文
posted @ 2019-12-11 17:09 nxf_rabbit75 阅读(306) 评论(0) 推荐(0) 编辑
摘要:一、Spark Streaming设计 Spark Streaming可整合多种输入数据源,如Kafka、Flume、HDFS,甚至是普通的TCP套接字。经处理后的数据可存储至文件系统、数据库,或显示在仪表盘里。 Spark Streaming的基本原理是将实时输入数据流以时间片(秒级)为单位进行拆 阅读全文
posted @ 2019-12-11 17:05 nxf_rabbit75 阅读(445) 评论(0) 推荐(0) 编辑
摘要:一、静态数据和流数据 很多企业为了支持决策分析而构建的数据仓库系统,其中存放的大量历史数据就是静态数据。技术人员可以利用数据挖掘和OLAP(On-Line Analytical Processing)分析工具从静态数据中找到对企业有价值的信息。 近年来,在Web应用、网络监控、传感监测等领域,兴起了 阅读全文
posted @ 2019-12-11 15:36 nxf_rabbit75 阅读(1152) 评论(0) 推荐(0) 编辑
摘要:Spark SQL可以支持Parquet、JSON、Hive等数据源,并且可以通过JDBC连接外部数据源 一、通过JDBC连接数据库 1.准备工作 ubuntu安装mysql教程 在Linux中启动MySQL数据库: 输入下面SQL语句完成数据库和表的创建: 2.读取mysql数据库中的数据 下载M 阅读全文
posted @ 2019-12-11 14:20 nxf_rabbit75 阅读(1243) 评论(0) 推荐(0) 编辑
摘要:一、DataFrame概述 在Spark SQL中,DataFrame就是它的数据抽象,对DataFrame进行转换操作。 DataFrame的推出,让Spark具备了处理大规模结构化数据的能力,不仅比原有的RDD转化方式更加简单易用,而且获得了更高的计算性能Spark能够轻松实现从MySQL到Da 阅读全文
posted @ 2019-12-10 21:27 nxf_rabbit75 阅读(374) 评论(0) 推荐(0) 编辑
摘要:一、从shark到Spark SQL Hive能够把SQL程序转换成map-reduce程序 可以把Hadoop中的Hive看作是一个接口,主要起到了转换的功能,并没有实际存储数据。 Shark即Hive on Spark,为了实现与Hive兼容,Shark在HiveQL方面重用了Hive中Hive 阅读全文
posted @ 2019-12-10 20:39 nxf_rabbit75 阅读(331) 评论(0) 推荐(0) 编辑
摘要:1.Ordered 和 Ordering Scala提供两个特质(trait)Ordered与Ordering用于比较。其中,Ordered混入(mix)Java的Comparable接口,而Ordering则混入Comparator接口。众所周知,在Java中 实现Comparable接口的类,其 阅读全文
posted @ 2019-11-10 09:56 nxf_rabbit75 阅读(487) 评论(0) 推荐(0) 编辑
摘要:一、求top值 任务描述:求出多个文件中数值的最大、最小值 二、求最大最小值 任务描述:求出多个文件中数值的最大、最小值 解题思路:通过一个人造的key,让所有的值都成为“key”的value-list,然后对value-list进行遍历,用两个变量求出最大最小值。 代码如下: import org 阅读全文
posted @ 2019-11-09 17:02 nxf_rabbit75 阅读(1406) 评论(0) 推荐(0) 编辑