- 博客(67)
- 收藏
- 关注
原创 Hive调优篇
1.java heap space异常如果仅设置set mapred.map.child.java.opts=-Xmx2048m;(默认值:mapred.map.child.java.opts=-Djava.net.preferIPv4Stack=true -Xmx1610612736)set mapred.reduce.child.java.opts=-Xmx2048m;(默认值:mapre...
2018-04-13 10:30:49
612
翻译 Python之函数
def fib(n): #write Fibonacci series up to n #在Java和C语言中不能赋予两个不同的变量不同的值,但是在Python中是可以的 a,b = 0, 1 while a < n: print(a, end=', ') a, b = b, a+b print()#Now call the fun
2017-12-04 23:23:56
420
翻译 Python之break和continue
for n in range(2, 10): for x in range(2, n): if n % x == 0: #连接符用逗号和加号都可 print(n, 'equals', x, '*', x) break else: # loop fell throug
2017-12-03 19:35:02
824
翻译 Hive中的命令
quit; exit;当我们在CLI或者Beeline下,我们可以用quit或者exit命令来退出交互式的shell。set;在交互式shell中输入 上面的命令可以查看用户和Hive重写的配置文件的变量;set =在交互式shell中设置参数,set mapred.reduce.tasks=32;这里具体列举下参数配置的三种方式:(1)在Hive的配置文件hive-site
2017-12-01 11:48:35
3839
转载 Scala之上界
//上界 <:class Pair[T <: Comparable[T]] { def shuishuai(first:T,second:T):T={ if(first.compareTo(second)<0) first else second }}object Test{ def main(args: Array[String]): Unit = {
2017-11-30 23:52:03
480
转载 Scala之下界
/*下界 >: 去公安部们身份证,儿子的身份证父亲当然可以拿走 */class Farther(val name:String)class Child(name:String) extends Farther(name:String)object GetIDCard { def getIdCard[R >: Child](person:R): Unit ={ pri
2017-11-30 23:51:20
374
转载 Scala之视图边界
/*视图边界 A <% B左边的类型是右边类型或者是其子类。如果不是,左边类型会隐士转换为右边的类型 */class Person(var name:String){ def sayHello = println("hello my name is "+name); def makeFirends(p:Person): Unit ={ sayHello
2017-11-30 23:37:11
633
转载 Scala之逆变
class Masterclass Professional extends Masterclass Card[-T](val name:String) //支持逆变,父类来了当然可以class Workerobject Test { def enterMeet(card: Card[Professional]): Unit = { println("welcome to
2017-11-30 23:32:14
342
转载 Scala之协变
package day3.lesson07class Masterclass Professional extends Masterclass Card[+T](val name:String) //支持协变 子类来了也可以class Workerobject Test { def enterMeet(card: Card[Master]): Unit = { pr
2017-11-30 23:19:17
294
翻译 Python之enumerate函数
seasons = ['Spring', 'Summer', 'Fall', 'Winter']li1 = list(enumerate(seasons))print(li1)li2 = list(enumerate(seasons, start=1))print(li2)"""result:[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3
2017-11-30 22:28:37
269
原创 Python之range函数
""""如果你需要遍历序列数字,Python的内置函数可以帮你遍历序列数字"""for i in range(20) : print(i)"""result:01234从遍历的结果可以得出,range是 [ ) 的,遍历从0开始"""#range(遍历的起始数字,遍历的结束数字(不包括))for i in range(5,10) : print(i
2017-11-30 22:15:41
395
原创 Python之for循环
#Python的for可以遍历 a list or a string#Measure some stringswords = ['happy', 'smile', 'sunshine']for word in words : print(word, len(word))"""result: happy 5 smile 5 sunshin
2017-11-30 21:25:22
564
原创 Python之if判断语句
x = int(input("Please ente an integer:"))#y = float(input("Please enter a float"))if x < 0 : x = 0 print("Negative changed to zero")elif x == 0 : print("zero") print('zero')elif
2017-11-30 20:08:39
440
翻译 SparkStreaming快速入门程序----WordCount
import org.apache.log4j.{Level, Logger}import org.apache.spark.SparkConfimport org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream}import org.apache.spark.streaming.{Seconds, Streamin
2017-11-26 20:44:02
306
转载 SparkStreaming之单词计数实现在一次程序的运行中,两次发送相同的key可以进行累加
import org.apache.log4j.{Level, Logger}import org.apache.spark.SparkConfimport org.apache.spark.streaming.dstream.ReceiverInputDStreamimport org.apache.spark.streaming.{Seconds, StreamingContext}
2017-11-26 20:43:35
702
转载 sparkStreaming上次程序运行的结果和这次的结果进行累加
import org.apache.log4j.{Logger,Level}import org.apache.spark.SparkConfimport org.apache.spark.streaming.dstream.DStreamimport org.apache.spark.streaming.{Seconds, StreamingContext}object SparkStr
2017-11-26 20:42:45
756
转载 SparkStreaming之黑名单过滤
import org.apache.spark.SparkConfimport org.apache.spark.broadcast.Broadcastimport org.apache.spark.rdd.RDDimport org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream}import org.apach
2017-11-26 20:41:50
716
转载 SparkStreaming之滑动窗口的实现
import org.apache.spark.SparkConfimport org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream}import org.apache.spark.streaming.{Seconds, StreamingContext}import org.apache.log4j.{Logge
2017-11-24 09:49:04
837
转载 将单词计数的结果持久化到MySQL中
1.MySQL的连接池package streaming.utilsimport java.sql.{Connection, DriverManager}object MysqlPool { private val max=8 ;//连接池的连接总数 private val connectionNum=10;//每次产生的连接数 private var conNum=0;/
2017-11-24 09:48:44
372
转载 SparkStreaming数据源之Kafka
2,从Kafka里面拿数据的两种方式(1) push(推过来的) kafka,flume -> Exeuctor内存-》磁盘 处理 1)整个任务出问题了 2)整个集群宕机了 3)机房停电了 数据有可能重复消费,也有可能漏了 Spark 1.3 以后 (2) pull(拉) sparkStreaming自己去维
2017-11-24 09:47:28
358
转载 Spark的学习资料来源
(1)官方文档http://spark.apache.org/特点:会把Spark所有的功能做解释,并演示案例。(一般案例都比较经典) (2)官方博客https://databricks.com/blog特点: Spark的官方文档,确实会告诉你这些技术是如何使用。但是不告诉你为什么,举个例子,比如SparkSQL新增加了功能了。为什么会增加这个功能,这个功能
2017-11-24 09:47:09
289
转载 Spark的概念和特征
1.spark的概念Apache Spark™ is a fast and general engine for large-scale data processing.Apache Spark 是处理大规模数据的快速的、通用的引擎。2.spark的四大特征(1)Speed(速度) Run programs up to 100x faster than Hadoop Ma
2017-11-24 09:46:42
616
原创 WordCount的实例
scala> sc.textFile("hdfs://hadoop1:9000/sparktest/hello.txt").flatMap( line => line.split("\t")).collectres8: Array[String] = Array(you, jump, i, jump)scala> sc.textFile("hdfs://hadoop1:9000/sparkt
2017-11-24 09:46:18
349
转载 SparkCore抽象之RDD
【弹性的】分布式的数据集弹性的:灵活的Rdd的特性:1、rdd是分布式的:rdd里面的数据实际上是分布在集群的不同节点上的。注:数据是可分区的,分区的个数和hdfs上文件块的个数有关,默认一个文件块对应一个分区,一个分区对于一个rdd里面的一部分文件。2、rdd是可分区的:分区的个数是我们可以指定的,但是默认的情况下,一个hdfs上的文件块就是一个分区,一个分区对应一个rdd里
2017-11-24 09:45:50
330
翻译 RDD创建的两种方式
There are two ways to create RDDs: parallelizing an existing collection in your driver program, or referencing a dataset in an external storage system, such as a shared filesystem, HDFS, HBase, or a
2017-11-24 09:45:30
1668
翻译 SparkSQL的UDF和UDAF
1.UDF2.UDAFUsers have to extend the UserDefinedAggregateFunction abstract class to implement a custom untyped aggregate function. For example, a user-defined average can look like:import org
2017-11-24 09:45:03
275
原创 Spark之RDD的Transformation操作
1.Java版本import org.apache.spark.Partitioner;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.ja
2017-11-23 22:55:28
391
转载 Spark的持久化
Spark的持久化级别持久化级别含义解释MEMORY_ONLY使用未序列化的Java对象格式,将数据保存在内存中。如果内存不够存放所有的数据,则数据可能就不会进行持久化。那么下次对这个RDD执行算子操作时,那些没有被持久化的数据,需要从源头处重新计算一遍。这是默认的持久化策略,使用cache()方法时,实际就是使用的这种持久化策略。
2017-11-23 22:55:11
1020
原创 Spark的广播变量
将每个task都要计算的数据设置成广播变量,如果不设置成广播变量,则每个task都会保存一份这样一模一样的数据,这样就占用了很多的存储空间,将共享变量设置成广播变量后只在一个excuter里面保存这样一份共享数据,这个excuter里面的task计算的时候共享这样一份数据,这样就减少了内存空间的占有率,但是这样是有前提的,前提是:被广播的变量不能太大。设置广播变量的步骤如下:sca
2017-11-23 22:55:02
612
原创 Spark的累加变量
当数据需要做累加的时候需要设置累加变量(比如求UV VV的时候)设置累加变量的步骤:scala> val accum = sc.accumulator(0, "My Accumulator")accum: spark.Accumulator[Int] = 0scala> sc.parallelize(Array(1, 2, 3, 4)).foreach(x => accum += x
2017-11-23 22:54:49
1000
原创 Spark集群的搭建
1.spark集群的部署 Hadoop1Hadoop2Hadoop3datanode√√√Namenode√ Secondary √ Master
2017-11-23 22:54:33
302
转载 Spark中的宽依赖和窄依赖
1.宽依赖和窄依赖的原理http://shiyanjun.cn/archives/744.html 窄依赖的原理:是指父RDD的分区只被子RDD的一个分区使用。 特点:(1)窄依赖允许在一个集群节点上以流水线的方式(pipeline)计算所有父分区。例如,逐个元素地执行map、然后filter操作;(2)窄依赖能够更有效地进行失效节点的恢复,即只需重新计算丢失RDD分区的
2017-11-23 22:54:19
2115
转载 Spark的架构和任务调度
Spark的任务调度顺序:1.首先我们会选择集群中的一台机器去提交我们的代码,我们提交的这个代码就是一个application2.如果是client的模式,会在提交任务的这台机器上面开启一个driver线程,如果是cluster的模式,会随机选择一台机器开启driver线程,driver开启以后,就开始打算执行提交的代码,开启driver的时候对SparkContext进行初始化,
2017-11-23 22:54:01
661
转载 Spark的运行模式
Spark的运行模式1.spark运行模式的种类无论是在哪儿提交Spark代码,每提交一个spark任务,都会开启一个driver,我们都有两种模式:Client(客户端模式):代码在哪台机器上提交的,那台机器就会开启Driver线程。Cluster(集群模式):Spark集群会在worker集群里面随机找一台机器,然后那一台就会开启一个Driver线程。2.Spark运行模式
2017-11-23 22:53:46
284
转载 Spark的资源管理和调度模式
1.Spark-standaloneStandalone的模式下,spark的资源管理和调度是自己来管理和调度的,主要由master来管理。2.Spark-yarnResourceManagerNodeManagerApplicationMasterContainer(资源)Task Hadoop集群上面 Yarn执行任务的流程:Client提交任务给res
2017-11-23 22:53:23
3925
转载 Spark任务的提交
1.提交任务的脚本格式# Run application locally on 8 cores./bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --master local[8] \ /path/to/examples.jar \ 100# Run on a Spark standalone c
2017-11-23 22:52:56
500
转载 SparkStreaming和Storm的对比
Storm 1) 真正意义上的实时处理。(实时性) 2)想实现一些复杂的功能,比较麻烦,比如:实现滑动窗口 (易用性) 原生的API:spout bolt bolt Trident框架:使用起来难度还是有一些。 3)没有一个完整的生态SparkStreaming 1)有批处理的感觉,一次处理的数据量较小,然
2017-11-22 14:31:27
486
转载 Spark中的抽象
SparkCore SparkContext-> RDDSparkSQL SQLContext/HiveContext(SparkSession) ->DataFrame(DataSet) rddSparkStreaming StreamingContext -> DStream rdd val ssc = new StreamingCon
2017-11-22 14:23:01
445
翻译 SparkStreaming中DStream的概念
1.DStreamStreamingContext会根据设置的批处理的时间间隔将产生的rdd归为一批,这一批rdd就是一个DStream,DStream可以通过算子操作转化为另一个DStream2.流计算的处理流程SparkStreaming的数据来源是kafka、flume、hdfs等,其中用的最多的是kafka,次子是flume,SparkStr
2017-11-22 14:20:47
3902
转载 SparkStreaming的运行流程
运行流程:1、我们在集群中的其中一台机器上提交我们的Application Jar,然后就会产生一个Application,开启一个Driver,然后初始化SparkStreaming的程序入口StreamingContext;2、Master会为这个Application的运行分配资源,在集群中的一台或者多台Worker上面开启Excuter,executer会向Driver注册;
2017-11-22 14:11:22
2333
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人