大数据基础
水母君98
SDU数媒,HKUST大数据
展开
-
Big dataTechnology foundation 概念选择题
INote: There may be more than one correct answer.(1) The characteristics of big data include:(1) A B CA. VolumeB. VarietyC. Velocity D. Simplicity(2) The characteristic of cloud computing solutions include: A. Dynamic provisioning(2) A B CB. Scala原创 2020-12-14 20:28:52 · 614 阅读 · 0 评论 -
RDD用法与实例(十四):closure和accumulators的区别和实例
1.RDD的特性:1.persistent2.lazy transformation2.Cluster mode集群模式Only one master/worker can run on the same machine, but a machine can be both a master and a worker3.where to runMost run on driverstransformations run on executorsactions - executors an.原创 2020-12-13 19:52:25 · 257 阅读 · 0 评论 -
RDD用法与实例(十三):spark与MapReduce的对比
Hadoop MapReduce: 只用磁盘,只用MapReduce方法,batch模型,只支持Java。spark内存或磁盘,很多方法,BIS(batch,interactive,streaming),支持多种语言原创 2020-12-13 19:05:31 · 461 阅读 · 0 评论 -
spark大数据基础复习:一些概念
1.大数据的定义“Big Data” is data whose scale, complexity, and speed require new architecture, techniques, algorithms, and analytics to manage it and extract value and hidden knowledge from it…————————————————————————————————————2.大数据的特征Characteristics of Bi原创 2020-12-13 16:31:57 · 270 阅读 · 2 评论 -
RDD用法与实例(十一)Spark中master、worker、executor和driver的关系,通过broadcast形成共享和直接生成全局变量的区别
Spark中master、worker、executor和driver的关系参考来源1master是大哥,worker是工人小弟们。master大哥有一个副手老二叫driver,手上管着一批货物executor(memory cpu等资源),老二会问大哥咋分给小弟们呢,大哥说哎,就这么分,张三比较菜(worker)搬两箱(executor),李四能者多劳(worker)搬五箱(executor)。但是重点不是搬货物完了就行,货箱里的材料还需要不断返工和沟通来完成成品制作。就需要小弟们不断沟通,不断请示原创 2020-09-28 12:14:16 · 410 阅读 · 0 评论 -
RDD用法与实例(十):spark中rdd实现k-means
import numpy as npdef parseVector(line): return np.array([float(x) for x in line.split()])def closestPoint(p, centers): bestIndex = 0 closest = float("+inf") for i in range(len(centers)): tempDist = np.sum((p - centers[i]) ** 2)原创 2020-09-28 11:46:49 · 497 阅读 · 0 评论 -
RDD用法与实例(九)Join,Broadcast用法与对比
Joinproducts = sc.parallelize([(1, "Apple"), (2, "Orange"), (3, "TV"), (5, "Computer")])trans = sc.parallelize([(1, (134, "OK")), (3, (34, "OK")), (5, (162, "Error")), (1, (135, "OK")), (2, (53, "OK")), (1, (45, "OK"))])print(trans.join(products).take(原创 2020-09-27 22:47:28 · 494 阅读 · 0 评论 -
RDD用法与实例(八)reduceByKey 用法,sortbykey,sortby
一、数据集fruits.txtapplebananacanary melongraplemonorangepineapplestrawberry二、赋值并合并相同key例1fruits = sc.textFile('/Users/huangluyu/data/fruits.txt')numFruitsByLength = fruits.map(lambda fruit: (len(fruit), 1)).reduceByKey(lambda x, y: x + y)print原创 2020-09-27 16:20:43 · 816 阅读 · 0 评论 -
RDD用法与实例(六):Linear-time selection 线性时间选择找出第K小的数字
思路:1、以第一个数作为初始计算值X,将分区划分成 小于X 和 大于X 两部分 A1,A22、如果 A1.count + 1 正好是k,说明,第k小的数正是这个将分区恰好划分成[min,k-1] [k+1,max]的数。3、如果 A1.count + 1 小于k,说明我们要找的k在A2中存在,那么对A2再次进行循环划分。如果 A1.count + 1 大于k,说明我们要找的k在A1中存在,那么对A1再次进行循环划分。4、以新的目的分区A1 or A2重复操作,以第一个数作为新的x,将分区划分成…原创 2020-09-27 14:35:42 · 452 阅读 · 0 评论 -
RDD用法与实例(七):collect和take
有时候collect结果会很奇怪。尽量用take,因为collect不是很能总能很好的收集数据。如下这个例子中,collect就有了明显的不正确结果。A = sc.parallelize(range(10))x = 5B = A.filter(lambda z: z < x)# B.cache()B.unpersist()print(B.take(10))print(B.collect())x = 3print(B.take(10))print(B.collect())# c原创 2020-09-27 14:17:57 · 1313 阅读 · 0 评论 -
RDD用法与实例(五):glom的用法
glom1、glom的作用是将同一个分区里的元素合并到一个array里2、glom属于Transformation算子# Example: glomimport sysimport randoma = sc.parallelize(range(0,100),10) #parallelize 进行并行处理,0~100每隔10步长取一次 print(a.collect()) #没有glom所以不分组print(a.glom().collect())print(a.map(lambda x:原创 2020-09-27 13:14:29 · 2593 阅读 · 0 评论 -
RDD用法与实例(三):map,mapPartitions和mapPartitionsWithIndex的区别
rdd的mapPartitions是map的一个变种,它们都可进行分区的并行处理。两者的主要区别是调用的粒度不一样:map的输入变换函数是应用于RDD中每个元素,而mapPartitions的输入函数是应用于每个分区。假设一个rdd有10个元素,分成3个分区。如果使用map方法,map中的输入函数会被调用10次;而使用mapPartitions方法的话,其输入函数会只会被调用3次,每个分区调用1次。mapPartitionsWithIndex则是带上分区下标进行操作。# Example: mapPa原创 2020-09-27 12:56:28 · 1318 阅读 · 0 评论 -
RDD用法与实例(四):蒙特卡洛法计算pi并利用mapPartitionsWithIndex进行优化
# From the official spark examples.import randompartitions = 1000n = 1000 * partitionsdef f(_): x = random.random() y = random.random() return 1 if x ** 2 + y ** 2 < 1 else 0count = sc.parallelize(range(1, n + 1), partitions) \原创 2020-09-27 13:09:53 · 187 阅读 · 0 评论 -
RDD用法与实例(二) transformation 和 action 和 cache 的实例应用执行顺序分析
rdd = sc.parallelize(range(10))accum = sc.accumulator(0)def g(x): global accum accum += x return x * xa = rdd.map(g)print(accum.value)print(a.reduce(lambda x, y: x+y))a.cache()tmp = a.count()print(accum.value)print(rdd.reduce原创 2020-09-27 12:07:54 · 199 阅读 · 0 评论 -
RDD用法与实例(一)基础介绍
##部分材料内容源自于HKUST的课上笔记只有执行actions里的才会最终计算例如↓#Read data from local file system:# sc.textFile 读取数据fruits = sc.textFile('../data/fruits.txt')yellowThings = sc.textFile('../data/yellowthings.txt')print(fruits.collect())print(yellowThings.collect())l原创 2020-09-27 12:09:57 · 1141 阅读 · 0 评论 -
RDD用法与实例(十二):实现PageRank
import refrom operator import adddef computeContribs(urls, rank): # Calculates URL contributions to the rank of other URLs. num_urls = len(urls) for url in urls: yield (url, rank / num_urls)def parseNeighbors(urls): # Parses a原创 2020-10-26 22:41:19 · 263 阅读 · 0 评论 -
sparksql学习笔记(一):基本操作
1.1 读入数据df = spark.read.csv('building.csv', header=True, inferSchema=True)1.2 展示数据# show the content of the dataframedf.show()1.3 展示数据类型df.printSchema()2.1 dataframe创建rdd型数据库dfrdd = df.rdddfrdd.take(3) #展示前三组,看看是什么样...原创 2020-10-26 16:03:24 · 201 阅读 · 0 评论