自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 收藏
  • 关注

原创 idea无法切换中文输入法

系统:CentOS7输入法:CentOS7自带ibus解决方法:进入idea软件根目录下的bin文件夹,找到启动文件idea.sh。使用vim或者vi命令打开:在注释之后添加:export XMODIFIERS=”@im=ibus”export GTK_IM_MODULE=”ibus”export QT_IM_MODULE=”ibus”保存退出,重启...

2019-05-30 23:41:19 9822

原创 hive——3. hive实例:搜狗用户搜索日志

数据来源:搜狗实验室官方网站的用户查询日志,http://www.sogou.com/labs/resource/q.php第一列:搜索时间第二列:用户ID第三列:搜索内容第四列:搜索内容出现在搜索结果页面的第几行第五列:用户点击的是页面的第几行第六列:用户点击的超链接可以看到第四列和第五列之间是空格不是tap,使用记事本查找替换,记事本输入tap无效,可以复制...

2019-05-30 23:40:17 2731 2

原创 spark sql——6. spark sql操作hbase

目标:在hbase建一张表,使用spark sql操作它参考:https://blog.csdn.net/eyeofeagle/article/details/84571756https://blog.csdn.net/eyeofeagle/article/details/89943913hbase数据准备:进入hbase shell:[root@hadoo...

2019-05-30 23:10:22 3874

原创 spark sql——5. spark sql操作mysql表

目标:1.jdbc到mysql,读mysql的表并load成dataframe2.对dataframe执行dsl、sql语句3.两张表的连接查询操作4.另存dataframe为表,保存到mysqlspark自带的案例在:/examples/src/.../sql/SQLDataSourceExample.scalajar包:jdbc的jar包为mysql...

2019-05-30 23:08:48 6206

原创 spark sql——2. 实例:spark sql操作hive表

hive表已经创建好了,详见: hive实例:搜狗用户搜索日志配置:1. 把core-site.xml和hive-site.xml复制到spark的conf目录下core-site.xml在hadoop的配置目录下,hive-site.xml在hive的配置目录下2. 把mysql-connector-java-5.1.47-bin.jar复制到spark的jars目录...

2019-05-30 23:06:38 10663 1

原创 设置静态ip

centos7设置静态ip1.设置网线连接的静态ipifconfig可以看到原本的ip是192.168.32.129修改它/etc/sysconfig/network-scripts/ifcfg-ens33修改两行:BOOTPROTO="static" # 使用静态IP地址,默认为dhcpONBOOT="yes" # 是否开机启用添加4行:IPA...

2019-05-24 10:32:46 15624

原创 spark源码阅读——6. 性能优化

spark性能优化1.数据序列化(serializer)spark提供两种序列化方式,一种是java序列化,另一种是Kryo序列化java序列化比较灵活,但速度较慢,为了方便,spark默认使用java,可以更改为Kryo对于大多数程序而言,Kryo序列化可以解决有关性能的大部分问题Kryo序列化机制的优点:(1)算子函数中使用的外部变量,在经过kryo序列化之后,会...

2019-05-22 17:15:08 263

原创 spark源码阅读——5. shuffle

shuffle是什么:分布式计算中,每个节点只计算部分数据,也就是只处理一个分片,那么要想求得某个key对应的全部数据,比如reduceByKey、groupByKey,那就需要把相同key的数据拉取到同一个分区,原分区的数据需要被打乱重组,这个按照一定的规则对数据重新分区的过程就是Shuffle(洗牌)。Shuffle是连接Map和Reduce之间的桥梁,描述的是数据从Map端到Redu...

2019-05-22 17:14:32 1082

原创 spark源码阅读——4. checkpoint

checkpoint步骤:1. 建立checkpoint存储路径scala> sc.setCheckpointDir("hdfs://master:9000/checkpoint0727")2. rdd1.cache()3. rdd1.checkpoint()最好先cache:阅读源码可以看到,在checkpoint的时候最好先进行cache,这样可以减少计算量...

2019-05-21 10:05:08 199

原创 spark源码阅读——3. cache和persist

缓存策略 cache和persist点进去cache,可以看到它调用了persist(),没有给参数,也就是默认的缓存级别,MEMORY_ONLY存储块block和partition关系rdd的运算是基于分区partition的,partition是逻辑上的概念,block是物理上的数据实体一个rdd的partition就对应一个storage模块的block...

2019-05-20 23:01:24 392

原创 spark源码阅读——2. spark-submit流程

任务提交流程:几个重要的概念:Application:用户构建的spark应用程序,包括驱动程序Driver和在工作节点上运行的Executor代码Driver: 驱动程序,运行Application中的main函数并创建sparkcontext,sc是应用程序的入口Executor:工作节点上启动的进程,可以运行任务task,也可以在内存或磁盘中保存数据Task:任务,由Ex...

2019-05-20 22:53:31 313

原创 spark源码阅读——1. 集群启动流程

启动流程:客户端执行启动命令:start-all.sh1. 首先启动Master节点(master),找到配置的slaves文件,获得需要启动的slave节点2. 然后启动Worker节点(slave1,slave2)3. Master节点要求Worker节点向Master发送注册信息(为什么要注册:Master需要掌握Worker节点的健康状态)4. Master收到注册...

2019-05-17 23:40:56 370

原创 spark源码阅读——0.构建spark源码阅读环境

构建spark源码阅读环境在idea中找类的快捷键:两下shiftspark源码地址:https://github.com/apache/spark先下载下来,找一个目录,执行命令:git clone http://github.com/apache/spark说白了就是下源码,放到idea里能看到就行,直接在https://github.com/apache...

2019-05-17 23:39:12 362

原创 运行spark——运行自带案例

run-example运行自带案例在spark的bin目录下执行:run-example + 类名./run-example org.apache.spark.examples.SparkPi还有其他的例子都在examples目录下

2019-05-17 23:36:51 3666

原创 mllib——实例3:ALS算法

ALS 是 spark 的协同过滤算法,已集成到 Spark 的 mllib 库中数据ALStest.data来自/spark/data/mllib/als/test.dataimport org.apache.spark.mllib.recommendation.Ratingimport org.apache.spark.{SparkConf, SparkContext}import...

2019-05-13 10:14:17 801

原创 spark GraphX——PageRank

代码:package org.apache.spark.graphx.learningimport org.apache.spark.SparkConfimport org.apache.spark.SparkContextimport org.apache.spark.graphx.Graph.graphToGraphOpsimport org.apache.spark.graph...

2019-05-05 22:10:17 789

原创 SparkStreaming——实例4:窗口操作

窗口函数,window使用窗口长度和滑动间隔来计算,假设窗口长度为3s,滑动间隔为2s,每2s窗口滑动一次,旧数据就只剩最后1s的了,丢弃左边的2s数据,右边进入新的2s的数据,计算此时新的3秒钟的数据。滑动间隔默认等于批次间隔,如果要设置,滑动间隔必须是窗口间隔的整数倍。代码:使用窗口函数:import org.apache.spark.{HashPa...

2019-05-04 23:05:27 1224

原创 SparkStreaming——实例3:带状态操作

带状态操作,updateStateByKey实例1、实例2只是把这5s中产生的数据wordcount,也就是每5s统计一次这5s的数据,而如果我们需要统计从一开始到现在产生的数据,就需要updateStateByKeyupdateStateByKey操作,可以让我们为每个key维护一份state,并持续不断的更新该state。1、首先,要定义一个state,可以是任意的数据类...

2019-05-04 23:04:34 2209

原创 SparkStreaming——实例2:批处理目录

简单:使用textFileStream替代socketTextStream即可可以向目录不断添加文件查看结果import org.apache.spark.SparkConfimport org.apache.spark.streaming.{Seconds, StreamingContext}object test1 {def main(args: Array...

2019-05-04 23:03:42 981

原创 SparkStreaming——实例1:批处理网络上的数据

目的:使用socketTextStream("192.168.0.160",9999)接收192.168.0.160的9999端口数据,并wordcount启动hdfs:start-all.sh使用netcat向192.168.0.160的9999端口传送数据启动netcat:nc -l -p 9999可以不断向端口传送数据,查看结果import org.a...

2019-05-04 23:02:53 1061

原创 SparkStreaming——原理

spark streaming可以从Kafka、Flume、HDFS、ZeroMQ、Twitter收集收据,从数据源获取数据之后,可以使用诸如map、reduce、join和window等高级函数进行复杂算法的处理。然后存储到HDFS、Databases(数据库)、Dashboards中。Kafka、Flume是日志收集系统,ZeroMQ消息系统,Twitter是一个接口。s...

2019-05-04 23:01:46 728

原创 netcat安装

linux安装netcat:1.下载wget https://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1.tar.gzwget命令会把文件下载到当前目录2.解压3.查看编译文件./configure提示没有c编译器安装c编译器gccyum install gcc4. 编...

2019-04-28 23:48:53 2628

原创 spark sql——7. hive on spark

把hive的计算引擎换成spark,计算效率更快在学习hive的时候发现,启动hive时会提示,在hive 2版本,hadoop-MR已经被弃用,请考虑换成spark、tez,或换成hive 1.X版本配置:不用安装hive也可以在spark上使用hive,只需要以下两个配置文件。把core-site.xml和hive-site.xml复制到spark的con...

2019-04-27 15:29:39 1823 1

原创 spark sql——4. rdd与dataframe相互转化

dataframe转rdd:dataframe转rdd很简单,直接.rdd即可scala> val df = spark.table("people_result")df: org.apache.spark.sql.DataFrame = [id: int, name: string ... 1 more field]scala> val rdd1 = df.rdd...

2019-04-27 15:28:11 1819

原创 spark sql——3. Dataframe及常用操作

在《实例:spark sql操作hive表》中可以看到,都是对dataframe进行操作spark sql以DataFrame作为基础数据类型在spark-shell中操作:DataFrame:DataFrame是一种以RDD为基础的分布式数据集,类似于传统数据库中的二维表。DataFrame相当于对RDD进行了封装,schema RDD,带有schema(表...

2019-04-27 15:25:40 2048

原创 spark sql——1. 简介

hive是shark的前身,shark是spark sql的前身hive on spark 是把hive的计算引擎换成sparkshark基于内存计算,比hive快100倍;即使基于磁盘也高10倍。spark sql又比shark计算性能高出一两个数量级shark对hive过度依赖,spark sql在hive兼容层面只依赖HQL Parser(解析器)、Hive Met...

2019-04-27 15:24:27 1380

原创 运行spark——7. RDD依赖、stage划分、checkpoint

RDD依赖:窄依赖:每一个父RDD的分区最多被子RDD的一个分区使用宽依赖:每一个父RDD的分区被多个子RDD分区依赖RDD依赖的作用:血统(Lineage)会记录RDD的元数据和转换行为,以便恢复丢失的分区。stage划分:DAG(有向无环图):RDD的一系列转换组成了DAG划分stage的目的是生成任务,每个stage对应一种任务,划分sta...

2019-04-25 22:19:20 1449

原创 运行spark——6. spark流程

启动流程:客户端执行启动命令:start-all.sh1. 首先启动Master节点(master),找到配置的slaves文件,获得需要启动的slave节点2. 然后启动Worker节点(slave1,slave2)3. Master节点要求Worker节点向Master发送注册信息(为什么要注册:Master需要掌握Worker节点的健康状态)4. Master收到注册...

2019-04-25 18:49:45 1369

原创 scala——高阶函数:2. 柯里化

柯里化:把输入多个参数的函数变为输入1个参数的函数声明方式:1. 参数分开放在括号里scala> def f1(x: Int)(y: Int) = x*yscala> val curry = f1(2) _scala> curry(3)res1: Int = 62. 使用implicit固定值scala> def f2(x: Int)(...

2019-04-25 00:48:35 1359

原创 scala——高阶函数:1. 函数作为输入值

在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数:接受一个或多个函数作为输入 输出一个函数scala> val arr = Array(1,2,3,4,5)arr: Array[Int] = Array(1, 2, 3, 4, 5)scala> val func = (x:Int) => x*xfunc: Int => Int = ...

2019-04-25 00:47:49 1471

原创 scala——常用操作:3. scala实现wordcount

2019-04-25 00:46:48 1528

原创 scala——常用操作:2. 常用操作

ctrl+alt+V 自动创建变量名ctrl+alt+L 自动规范格式package test01object test {def main(args: Array[String]): Unit = {//创建一个listval list0 = List(2, 5, 9, 6, 7, 1, 8, 3, 4, 0)println(list0)//list每...

2019-04-25 00:44:51 1432

原创 scala——常用操作:1. lazy惰性操作

lazy定义的变量是惰性变量惰性变量是不可变变量,且只有在调用时才去执行package test01class test { }//只有在静态类object中才可以声明main方法object test1{def init(): Unit = {println("call init()")}def main(args: Array[String]): Unit ...

2019-04-25 00:44:16 1588

原创 scala——面向对象:4. 模式匹配

匹配字符串:package test01import scala.util.Random/*** 匹配字符串*/object test {def main(args: Array[String]): Unit = {val arr = Array("zhoudongyu","zhengshuang","guanxiaotong","yanzi")val name...

2019-04-25 00:41:20 1363

原创 scala——面向对象:3. 特质、抽象类、继承、重写

特质、抽象类、继承、重写特质:(trait)相当于java的接口。可以只声明变量,不赋值,但在调用时需要重写赋值可以只声明方法,不实现,但在调用时需要重写实现/*** 特质*/trait Flyable{//声明一个没有值的字段val distance: Int//声明一个没有实现的方法def fight: String//声明一个实现的方...

2019-04-25 00:40:18 1436

原创 hbase——3. 导入导出表

启动hadoop:start-all.sh启动hbase:start-hbase.sh导出表:导出到hdfs:(也可以导出到本地)[root@hadoop01 ~]# hbase org.apache.hadoop.hbase.mapreduce.Export table1 hdfs://hadoop01:9000/test/hbase查看结果:[root@hadoo...

2019-04-21 20:58:08 1504

原创 hbase——2.hbase shell

启动hbase:1.启动hadoop,因为hbase架设在hdfs之上,start-all.sh2.启动hbase,start-hbase.sh,hbase网址端口160103.进入shell命令行,hbase shell创建表:create命令,需要指定表名和列族ColumnFamilyhbase(main):002:0> create 'table1'...

2019-04-21 20:56:09 1468

原创 hbase——1.基础

hbase:高可靠型、高性能、面向列、可伸缩的分布式存储数据库,hbase运行于hdfs之上,使用zookeeper作为协调工具。与关系型数据库对比:1.数据类型方面关系型数据库有很多数据类型(int,char等),hbase只有字符串。2.数据操作方面关系型数据库定义了非常多的操作。如表间的连接操作,关系型数据库效率很低;而hbase存在一张表中不需要连接,提升...

2019-04-21 20:51:11 1499

原创 hive——2.使用

启动hive:启动hadoop:start-all.sh启动hive:hive[root@hadoop01 ~]# hivehive>DDL操作:创建表:create命令hive> create table student(id bigint,name string,age int);OKTime taken: 0.945 seconds...

2019-04-21 20:48:37 1445

原创 hive——1.安装

安装mysql:(1)下载安装包文件:wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm(2)安装mysql-community-release-el7-5.noarch.rpm包:rpm -ivh mysql-community-release-el7-5.noarch.rpm(3)安装mys...

2019-04-21 20:46:16 1337

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除