- 博客(119)
- 资源 (2)
- 收藏
- 关注
原创 graphx项目实战 — 航班飞行网图分析
一.任务描述需求概述探索航班飞行网图数据构建航班飞行网图使用Spark GraphX完成下列任务统计航班飞行网图中机场的数量统计航班飞行网图中航线的数量计算最长的飞行航线(Point to Point)找出最繁忙的机场找出最重要的飞行航线(PageRank)找出最便宜的飞行航线(SSSP)二.具体分析问题分析1:数据探索下载数据链接: https://pan.baidu.com/s/1fubnDM_sggw_MWS9iI1AoQ 提取码: xnxv数据格式:文件格式为CSV
2020-08-11 09:35:49
4545
2
原创 基于Spark GraphX 的图形数据分析
为什么需要图计算许多大数据以大规模图或网络的形式呈现许多非图结构的大数据,常会被转换为图模型进行分析图数据结构很好地表达了数据之间的关联性图(Graph)的基本概念图是由顶点集合(vertex)及顶点间的关系集合(边edge)组成的一种网状数据结构通常表示为二元组:Gragh=(V,E)可以对事物之间的关系建模应用场景在地图应用中寻找最短路径社交网络关系网页间超链接关系图的术语-1顶点(Vertex)边(Edge)Graph=(V,E)集合V={v1,v2,v3}集合E={
2020-08-10 18:31:40
3244
原创 大数据常见面试题之spark core
文章目录一.spark的部署模式1.本地模式2.standalone模式3.spark on yarn模式二.driver的功能三.hadoop和spark都是并行计算,他们有什么相同点和不同点一.spark的部署模式1.本地模式spark不一定非要跑在hadoop集群,可以在本地,起多个线程的方式来指定.将spark应用以多线程的方式直接运行在本地,一般都是为了方便调试,本地模式分为三类1)local:只启动一个executor2)local[k]:启动k个executor3)local[*
2020-08-07 10:49:13
548
原创 spark基础练习2
有如下四个csv文件,列属性如下:#上传到本地#加载数据val customers = sc.textFile("file:///data/customers.csv").map(x => x.split(";").map(y => y.replace("\"", ""))) val products = sc.textFile("file:///data/products.csv").map(x => x.split(";").map(y => y.replace("\
2020-08-06 23:26:22
5029
原创 Apache Spark 分布式计算原理
Spark WordCount运行原理为什么需要划分Stage数据本地化移动计算,而不是移动数据保证一个Stage内不会发生数据移动RDD的依赖关系Lineage:血统、遗传RDD最重要的特性之一,保存了RDD的依赖关系RDD实现了基于Lineage的容错机制依赖关系宽依赖窄依赖宽依赖对比窄依赖宽依赖对应shuffle操作,需要在运行时将同一个父RDD的分区传入到不同的子RDD分区中,不同的分区可能位于不同的节点,就可能涉及多个节点间数据传输当RDD分区丢失时,Spark会
2020-08-06 14:35:38
448
原创 spark基础练习
在名为sparkwork.txt中有如下内容:班级ID 姓名 年龄 性别 科目 成绩12 张三 25 男 chinese 5012 张三 25 男 math 6012 张三 25 男 english 7012 李四 20 男 chinese 5012 李四 20 男 math 5012 李四 20 男 english 5012 王芳 19 女 chinese 7012 王芳 19 女 math 7012 王芳 19 女 english 7013 张大三 25 男 chinese 60
2020-08-04 22:39:31
4649
原创 Apache Spark基础及架构
文章目录一.为什么使用Spark二.Spark简介1.发展历程2.Spark优势3.Spark技术栈4.Spark环境部署5.Spark初体验6.Spark架构设计7.Spark架构核心组件8.Spark API三.核心API:RDD1.RDD概念2.RDD与DAG3.RDD的五大特性4.RDD编程流程5.RDD创建6.RDD分区与RDD的操作7.RDD转换算子8.RDD动作算子一.为什么使用SparkMapReduce编程模型的局限性繁杂:只有Map和Reduce两个操作,复杂的逻辑需要大量的样板
2020-08-04 12:43:49
924
原创 大数据常见面试题之数据仓库
一.数仓中是如何划分主题的主题(subject)是在较高层次上将企业信息系统中的数据进行综合,归类和分析利用的一个抽象概念,每一个主题基本对应一个宏观的分析领域.在逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象.例如销售分析就是一个分析领域,因此这个数据仓库应用的主题就是销售分析主题是根据分析的要求来确定的.这与按照数据处理或应用的要求来组织数据是不同的.如在生产企业中,同样是材料供应,在操作型数据库系统中,人们所关心的是怎样更方便和更快捷的进行材料供应的业务处理,而在进行分析处理时,人们
2020-08-03 10:40:15
5584
2
原创 scala扩展
一.模式匹配1.match表达式类似Java switch语句能处理任何类型不需要break能够生成值//基本模式匹配def matchTest(x: Int): String = x match { case 1 => "one" case 2 => "two" case _ => "many"}matchTest(3) // manymatchTest(1) // one//模式守卫(在模式后面加上if 条件)def matchTest2(
2020-07-31 12:29:28
2902
原创 大数据常见面试题之scala
文章目录1.偏函数2.函数柯里化3.scala的apply和unapply方法的作用4.元组5.scala优点6.scala中关键字implicit用法7.特质与抽象类的区别8.闭包9.Unit10.ArrayBuffer和Array区别11.Java和Scala的区别1.偏函数偏函数(Partial Function)是数学概念,它不是函数的一种,它跟函数是平行的概念.scala中的偏函数是一个Trait,类型为PartialFunction[A,B],其中接收一个类型为A的参数,返回一个类型为B
2020-07-31 09:30:07
662
原创 大数据常见面试题之JVM
一.请说明一下Java虚拟机地作用是是什么解释运行字节码程序消除平台相关性JVM将Java字节码解释为具体平台地具体指令.一般地高级语言如果在不同地平台上运行,至少需要编译成不同地目标代码.而引进JVM之后,Java语言在不同地平台上运行时不需要重新编译.Java语言使用模式Java虚拟机屏蔽了与具体平台相关地信息,使得Java语言编译程序只需生成在Java虚拟机上运行地目标代码(字节码),就可以在多平台上不加修改地运行.Java虚拟机在执行字节码时,把字节码解释成具体平台上地机器指令执行二.Java
2020-07-31 08:20:32
437
原创 scala OOP面向对象
文章目录一.类(class)二.单例对象 object三.特质 trait四.其他1.内部类2.样例类 case class3.泛型类4.类型边界5.型变6.包与包对象五.练习一.类(class)类通过class关键字定义类通过new关键字创建实例类拥有成员变量和方法类的成员默认为public,也支持private、protected类中无法定义静态成员变量和方法类无需明确定义构造方法,通过构造参数列表声明为类的一部分类成员访问修饰符JavaModifierClass
2020-07-30 11:37:49
3549
原创 scala函数
文章目录一.Java Lambda表达式二.Scala方法和函数三.Scala函数练习练习1:函数定义练习2:匿名函数练习3:高阶函数练习4:嵌套函数一.Java Lambda表达式函数式接口一种只含有一个抽象方法声明的接口可以使用匿名内部类来实例化函数式接口的对象通过Lambda表达式可以进一步简化代码Lambda语法(parameters) -> expression(parameters) ->{ statements;...... }示例如下://Java8 方
2020-07-29 10:08:29
3315
原创 scala中关键字implicit的常用用法详解
文章目录一.隐式参数和隐式值二.隐式函数,用于类型不匹配时自动转换类型或关联两个类三.隐式类1.定义隐式类2.创建隐式类的参数类型对象,调用隐式类方法一.隐式参数和隐式值用法如下:package Implicitobject ImplicitDemo_value_parameter { def main(args: Array[String]): Unit = { //声明隐式值,注意同种类型只能声明一个值,否则运行错误(ambiguous--模糊的无法确定到底引用哪个值)
2020-07-28 19:22:09
4066
原创 大数据常见面试题之Java基础
一.HashMapjdk7:数组+链表jdk8:数组+链表+红黑树HashMap中维护了Node类型的数组table,初始为null1.创建对象时,将加载因子loadFactor初始化为0.75,其他成员保持默认值2. 添加元素时,相当于putVal方法,需要先将元素的key哈希值取出来,并且运算得出在数组中存放索引如果该索引出没有其他元素,则直接存放若该索引处有其他元素,需要先判断是否相等,若相等则覆盖,若不相等则继续判断是否为树结构或链表结构,根据不同结构进行不同处理3.如果需要扩容,则
2020-07-28 09:41:36
649
1
原创 hadoop面试题
一、不定项选择题(1-12题每题2分,13题3分,共27分)下面那个程序负责HDFS数据存储(C)?A NameNodeB JobtrackerC DatanodeD secondaryNameNodeE tasktracker关于SecondaryNameNode哪项是正确的(C)?A 它是NameNode的热备。B 它对内存没有要求。C 它的目的是帮助NameNode合并编辑日志,减少NameNode启动时间。D SecondaryNameNode应与NameNode部署到
2020-07-27 12:28:05
6498
原创 RandomAccessFile 随机读写流
一.随机读写流的介绍RandomAccessFile-随机读写流,不属于任何流对象,直接继承了Object类,既可读又可写可随机访问读和写以前学的流对象 读取从文件开头读,写末尾追加或开头覆盖RandomAccessFile在文件任意位置上开始读和写,隐含了大型字节数组,文件都是由字节组成,文件二进制都放在自己的数组中有一种游标或索引到隐含数组中,称为文件指针输入操作从文件指针开始读取字节,并使文件指针超过读取的字节数。 如果在读/写模式下创建随机访问文件,则输出操作也可用;输出操作从文件指针
2020-07-26 11:52:13
609
原创 scala高阶函数练习
文章目录1.编写函数values(fun:(Int)=>Int,low:Int,hight:Int)该函数输出一个集合,对应给定区间内给定的给定函数的输入和输出比如values(x=>x*x,-5,5)应该产出一个对偶集合(-5,25)(-4,16)(-3,9)...(5,25)2.如何用reduceLeft得到数组中的最大元素3.用to和reduceLeft实现阶乘函数,不得使用循环或递归4.编写函数largest(fun:(Int)=>Int,inputs:Seq[Int]),输出在给
2020-07-25 09:01:54
8376
6
原创 scala数组练习
文章目录1.有一个10个位置的数组,第一个位置放的是3,后面每个位置都是前面一个位置的两倍加1,打印这个数组,然后将数组中奇数位置和偶数位置呼唤2.随机10个0到100之间的整数放入数组中,再将数组中的最大值和最小值去掉剩下的数放入新数组,数的顺序不能改变,打印数组3.输入一个整数,将这个整数的所有约束放入一个数组,打印数组1.有一个10个位置的数组,第一个位置放的是3,后面每个位置都是前面一个位置的两倍加1,打印这个数组,然后将数组中奇数位置和偶数位置呼唤package com.sunyong//
2020-07-24 11:20:15
14233
原创 linux定时任务介绍
# cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业 一般都默认安装了#常用命令如下:# 启动服务systemctl start crond# 关闭服务 systemctl stop crond#重启服务 systemctl restart crond# 重新载入配置systemctl reload crond# 查看服务状态 systemctl status crond#查看root用户的crontab任务crontab -l#删除ro
2020-07-23 11:46:07
324
原创 scala练习
下表是学生信息表,包括姓名,性别,年龄1.使用studentList集合存储以上内容,遍历studentList打印输出2.创建集合boyList、girlList、girlgt18List 、top3List、girltop3List3.把所有男生存入boyList ,女生存入girlList ,大于等于18岁的女生存入girlgt18List4.年龄最大的3个学生放入top3List,年龄最大的3个女生放在girltop3List5.计算所有学生的平均年龄,所有男生的平均年龄,所有女生的平均
2020-07-23 08:37:28
13720
原创 scala数组集合函数大全
方法名描述返回值类型举例结果apply(int i)按下标取数组数据 同a(i)数组元素类型Array(1 ,2,3,4,5).apply(3)res45: Int = 4++合并数组返回一个新数组,若不同类型以左边为准左边类型Array(1 ,2) ++ List(7,8,9)res44: Array[Int] = Array(1, 2, 7, 8, 9)union合并两个序列,同操作符 ++左边类型Array(1,2) union List(...
2020-07-22 21:22:36
9052
原创 Sqoop介绍及数据迁移
一.Sqoop概述Sqoop是一个用于在Hadoop和关系数据库之间传输数据的工具将数据从RDBMS导入到HDFS、Hive、HBase从HDFS导出数据到RDBMS使用MapReduce导入和导出数据,提供并行操作和容错目标用户系统管理员、数据库管理员大数据分析师、大数据开发工程师等二.Sqoop操作1.从RDB导入数据到HDFSsqoop import \--connect jdbc:mysql://localhost:3306/retail_db \--driver com
2020-07-22 12:35:11
7325
1
原创 HBase进阶
文章目录一.HBase REST API二.Phoenix概述三.Hive与HBase集成使用场景1.Hive与HBase集成原理三.Hbase常用命令1.名称空间(NameSpace)2.安全权限(Security with GRANT)3.权限管理命令(revoke & user_permission)四.Region管理五.HBase Compaction - LSM一.HBase REST API使用REST API操作HBase1.start/stop rest service
2020-07-21 12:18:40
495
原创 NoSQL综述及HBase基础
文章目录一.NoSQL1.什么是NoSQL2.NoSQL和关系型数据库对比如下表3.NoSQL和BI、大数据的关系二.Hbase1.概述2.HBase发展历史3.应用场景3.1.增量数据-时间序列数据3.2.信息交换-消息传递3.3.内容服务-Web后端应用程序3.4.HBase应用场景示例4.Apache HBase生态圈5.HBase分布式环境部署见如下链接6.HBase架构7.HBase Shell8.使用Java API操作HBase一.NoSQL1.什么是NoSQLNoSQL:not onl
2020-07-20 12:15:46
15432
原创 scala入门
文章目录一.Scala概述1.特性2.Scala变量与常量二.Scala流程控制语句1.if2.Scala循环控制三.Scala数组,元组,集合1.Scala数组2.Scala元组3.Scala集合4.Scala Stream & Vector一.Scala概述1.特性面向对象特性每个值都是对象对象的数据类型和行为由类(Class)和特征(Trait,类似于interface)描述利用特征实现混入式多重继承函数式编程每个函数都是一个值支持高阶函数、柯里化(currying)、
2020-07-18 10:01:21
636
原创 使用Scala练习java经典习题之循环+数组
文章目录1.百钱买百鸡1.百钱买百鸡在这里插入代码片2、鸡兔同笼。鸡兔一共有50只,脚一共有160只,问鸡和兔各多少只?要求鸡兔至少一样一只3、公鸡2文,母鸡1文,小鸡半文,每种至少一只,100文买100只鸡有多少种可能PS:请使用循环获得所有可能并插入数组,使用遍历数组的方式输出4、请输入一个正整数年份,判断是否是闰年?在此基础上,随机生成一个int型二维数组(最大为4位数),计算其中闰年的个数,并输出该年份5、随机生成一个short型一维数组,从控制台输入一个数值,遍历数组查找,如果找到
2020-07-17 22:50:19
9941
原创 使用scala练习Java经典习题之循环
文章目录1.兔子生孩子2.求101-200素数个数3.水仙花数4.正整数分解质因数5.求最大公约数和最小公倍数6.求1000内完数7.猴子吃桃问题8.企业奖金问题9."1234"这4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?10.判断某年某月某日是这一年的第几天11.求第五人岁数1.兔子生孩子package com.sunyong/**一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。已知一对兔子每个月可以生* 一对小兔子,而一对兔子从出生后第3个月起每月生一对
2020-07-17 10:04:36
9444
原创 使用zeppelin分析电子商务消费行为
文章目录一.任务描述二.问题分析问题分析1:Customer表问题分析2:Transaction表问题分析3:Store表问题分析1:Review表三.连接zeppelin**使用刚才创建的模板**1.从windows上传到linux 的/tmp/data目录下2.Understand the Data3. Upload the file to HDFS4.建表查表5.数据清洗6.Customer分析7.Transaction分析8.Store分析9.Review分析一.任务描述需求概述对某零售企业
2020-07-16 19:28:57
13860
原创 hive经典习题50题
-- 建库create database if not exists hql50;use hql50;-- 建表-- 课程表create table if not exists course(course_id int,course_name string,teacher_id int);-- 分数表create table if not exists score(student_id int,course_id int,score int);-- 学生表create table if n
2020-07-15 11:02:12
16238
1
原创 Hive函数及性能优化
一.Hive函数分类从输入输出角度分类标准函数:一行数据中的一列或多列为输入,结果为单一值聚合函数:多行的零列到多列为输入,结果为单一值表生成函数:零个或多个输入,结果为多列或多行从实现方式分类内置函数自定义函数1)UDF:自定义标准函数2)UDAF:自定义聚合函数3)UDTF:自定义表生成函数内置函数Hive提供大量内置函数供开发者使用标准函数1)字符函数2)类型转换函数3)数学函数4)日期函数5)集合函数6)条件函数聚合函数表生成函数查看函数用法的
2020-07-14 10:27:59
1191
原创 hive函数大全
为了方便开发人员使用函数,Hive提供了大量的内置函数,包括数学函数,类型转换函数,条件函数,字符函数,聚合函数,表生成函数等等,
2020-07-13 19:31:03
11278
2
原创 hive自定义函数
文章目录一.hive自定义函数介绍二.hive自定义函数开发1.需求:开发自定义函数,使得在指定字段前加上"Hello: "字样2.hive中UDF函数开发步骤3.功能实现一.hive自定义函数介绍当hive提供的内置函数无法满足业务需求时,可以考虑使用用户自定义函数(User-Defined Function,UDF)hive中常见的UDF有如下3中1)UDF一条记录使用函数后输出还是一条记录,如:upper/substr2)UDAS(User-Defined Aggregation Fun
2020-07-12 17:08:05
3013
原创 hive高级查询(二)
Hive聚合运算 - GROUP BYGROUP BY用于分组Hive基本内置聚合函数与GROUP BY一起使用如果没有指定GROUP BY子句,则默认聚合整个表除聚合函数外,所选的其他列也必须包含在GROUP BY中GROUP BY支持使用CASE WHEN或表达式select category, max(offervalue) from offers group by category;-- group by使用表达式select if(category > 4000, 'GOOD
2020-07-11 10:02:46
6204
原创 hive高级查询(一)
文章目录一.Hive查询 - SELECT基础1.查询语法解析2.练习1:SELECT及关联查询二. Hive JOIN – MAPJOIN三.Hive集合操作(UNION)四.装载数据1.INSERT表插入数据2. Hive数据插入文件3. Hive数据交换 - IMPORT/EXPORT五.hive数据排序1.order by2.SORT BY/DISTRIBUTE BY3. CLUSTER BY一.Hive查询 - SELECT基础1.查询语法解析SELECT用于映射符合指定查询条件的行Hiv
2020-07-09 19:45:51
5619
原创 hive基础
什么是Hive?基于Hadoop的数据仓库解决方案将结构化的数据文件映射为数据库表提供类sql的查询语言HQL(Hive Query Language)Hive让更多的人使用HadoopHive成为Apache顶级项目Hive始于2007年的Facebook官网:hive.apache.orgHive的优势和特点提供了一个简单的优化模型HQL类SQL语法,简化MR开发支持在不同的计算框架上运行支持在HDFS和HBase上临时查询数据支持用户自定义函数、格式成熟的JDBC和ODBC
2020-07-08 20:07:03
3268
原创 记录hive无法创建表的问题
一.报错异常如下:FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:An exception was thrown while adding/validating class(es) : Column length too big for column 'PARAM_VALUE' (max = 21845); use BLOB or TEXT i
2020-07-07 22:54:06
3035
原创 使用shell脚本安装hadoop高可用集群
文章目录一.创建一台虚拟机二.复制两台虚拟机三.启动集群四.脚本内容如下1.jdk2.hadoop和zookeeper集群划分192.168.56.120 hadoop01192.168.56.121 hadoop02192.168.56.122 hadoop03QuorumPeerMainQuorumPeerMainQuorumPeerMainJournalNodeJournalNodeJournalNodeNameNodeNameNodeNodeMana
2020-07-07 12:32:57
14304
1
原创 hadoop高可用集群的搭建
文章目录一.HDFS-HA 集群配置1.1 配置 HDFS-HA 集群1.2 启动 HDFS-HA 集群1.3 配置 HDFS-HA 自动故障转移二、YARN-HA 配置2.1 配置 YARN-HA 集群一.HDFS-HA 集群配置1.1 配置 HDFS-HA 集群1.HDFS 高可用集群规划,请保证 Hadoop 完全分布式和 ZooKeeper 完全分布式环境已经安装完成。hadoop集群搭建hadoop110hadoop111JournalNodeJournalNo
2020-07-06 16:03:03
9942
ip地址范围对应转换表
2020-08-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅