
大数据
lds_include
在职人员
展开
-
hive中的order by、sort by、distribute by、cluster by排序
hive中的排序说明:hive中有四种全局排序:order by、内部排序:sort by、分区排序:distribute by、组合排序:cluster by。order by(全局排序)说明:全局排序是在一个MapReduce中进行排序的。参数:ASC:是升序的意思和mysql一样,同时也是默认的参数。DESC:降序的意思和MySQL中一样。举例:查询...原创 2019-07-01 10:40:51 · 1035 阅读 · 0 评论 -
Spark的shuffle的Shuffle read和shuffle write过程
Spark的shuffle的Shuffle read和shuffle write过程在发生shuffle的过程中,会发生shuffle write和shuffle read。shuffle write:发生在shuffle之前,把要shuffle的数据写到磁盘为什么:为了保证数据的安全性,避免占用大量的内存shuffle read:发生在shuffle之后,下游RDD读取上...原创 2019-04-13 09:42:55 · 5123 阅读 · 2 评论 -
Spark中的Task,partitioner,executor,cores等相关概念
Spark中的Task,partitioner,executor,cores等相关概念说明输入多个hdfs文件,每个文件有多个block,当spark读取多个文件时,将多个block合并为一个输入分片(InputSplit,它是不能跨文件的),每个输入分片对应一个task,一个task会被分配到某个节点的一个executor上执行,每个executor上有多个cores(一个executo...转载 2019-04-12 23:14:23 · 1255 阅读 · 0 评论 -
Spark2.3.0解决Exception in thread "main" java.lang.IllegalArgumentException: Illegal pattern component
Spark2.3.0解决Exception in thread “main” java.lang.IllegalArgumentException: Illegal pattern component: XXX 报错出错的调用代码此问题出现在调用spark.read.json或者csv的时候出现。res.write .mode("append") .json("c://out")...原创 2019-04-16 10:55:02 · 4865 阅读 · 0 评论 -
Spark的DAG
Spark的DAG什么是DAGDAG(Directed Acyclic Graph)叫做有向无环图,原始的RDD通过一系列的转换就就形成了DAG,根据RDD之间的依赖关系的不同将DAG划分成不同的Stage,对于窄依赖,partition的转换处理在Stage中完成计算。对于宽依赖,由于有Shuffle的存在,只能在parent RDD处理完成后,才能开始接下来的计算,因此宽依赖是划分Sta...原创 2019-04-12 19:31:14 · 456 阅读 · 0 评论 -
Spark的RDD缓存
Spark的RDD缓存说明Spark速度非常快的原因之一,就是在不同操作中可以在内存中持久化或缓存多个数据集。当持久化某个RDD后,每一个节点都将把计算的分片结果保存在内存中,并在对此RDD或衍生出的RDD进行的其他动作中重用。这使得后续的动作变得更加迅速。RDD相关的持久化和缓存,是Spark最重要的特征之一。可以说,缓存是Spark构建迭代式算法和快速交互式查询的关键。RDD缓存方式...原创 2019-04-12 17:24:29 · 265 阅读 · 0 评论 -
Scala&Hadoop&Spark的maven的全量集的pom
Scala&Hadoop&Spark的maven的全量集的pom.xml文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i...原创 2019-04-02 20:38:19 · 449 阅读 · 0 评论 -
Scala中的map和flatMap
Scala中的map和flatMaplist中map和flatMap的实现:map源码abstract class List[T]{ def map[U](f: T => U): List[U] = this match { case first :: last = f(first) :: last.map(f) case Nil = Nil }说明:map...原创 2019-04-02 20:33:33 · 413 阅读 · 0 评论 -
Spark计算模型
Spark计算模型一、弹性分布式数据集RDD1、什么是RDDRDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升...原创 2019-04-08 17:04:29 · 638 阅读 · 0 评论 -
Spark是什么、能干什么、特点-一目了然
Spark是什么、能干什么、特点-一目了然什么是Spark(官网:http://spark.apache.org)Spark是一种快速、通用、可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目。目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkS...原创 2019-04-08 16:21:45 · 45819 阅读 · 0 评论 -
Spark集群上跑wordcount
Spark集群上跑wordcount1、创建WordCount程序的jar(maven项目)编写SparkWC.scala文件import org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}/** * scala:是一个强类型语言 * 模板代码 */object SparkWC...原创 2019-04-02 17:06:00 · 432 阅读 · 0 评论 -
hbase的rowKey的设计原则
hbase的rowKey的设计原则.Rowkey长度原则Rowkey 是一个二进制码流,Rowkey 的长度被很多开发者建议说设计在10~100 个字节,不过建议是越短越好,不要超过16 个字节。原因如下:(1)数据的持久化文件HFile 中是按照KeyValue 存储的,如果Rowkey 过长比如100 个字节,1000 万列数据光Rowkey 就要占用100*1000 万=...原创 2019-03-28 20:10:26 · 485 阅读 · 0 评论 -
Hbase与hive的区别
Hbase与hive的区别总的而言:Hive和Hbase是两种基于Hadoop的不同技术–Hive是一种类SQL 的引擎,并且运行MapReduce 任务,Hbase 是一种在Hadoop之上的NoSQL的Key/vale数据库。当然,这两种工具是可以同时使用的。就像用Google 来搜索,用FaceBook 进行社交一样,Hive 可以用来进行统计查询,HBase 可以用来进行实时查询,数...原创 2019-03-28 19:56:04 · 1404 阅读 · 1 评论 -
Spark中的Lineage血统
Spark中的Lineage血统说明RDD只支持粗粒度转换,即在大量记录上执行的单个操作。将创建RDD的一系列Lineage(即血统)记录下来,以便恢复丢失的分区。RDD的Lineage会记录RDD的元数据信息和转换行为,当该RDD的部分分区数据丢失时,它可以根据这些信息来重新运算和恢复丢失的数据分区。体现过程RDD在计算过程中,如果有一个RDD的分区信息丢失,该RDD会首先判断是否...原创 2019-04-11 11:18:59 · 696 阅读 · 0 评论 -
Spark中的shuffle能够调优的参数
Spark中的shuffle能够调优的参数属性名称默认值属性说明spark.reducer.maxSizeInFlight48mreduce task的buffer缓冲,代表了每个reduce task每次能够拉取的map side数据最大大小,如果内存充足,可以考虑加大,从而减少网络传输次数,提升性能spark.shuffle.blockTransferServ...原创 2019-04-10 22:32:20 · 339 阅读 · 0 评论 -
Spark的Shuffle过程
Spark的Shuffle过程说明shuffle操作,是在spark操作中调用了一些特殊算子才会触发的一种操作,shuffle操作,会导致大量的数据在不同的节点之间传输,由上可知,shuffle过程是spark中最复杂、最消耗性能的一种操作举例reduceByKey算子会将一个RDD中的每一个key对应的所有value都聚合成一个value,然后生成一个新的RDD,新...原创 2019-04-10 22:15:28 · 1784 阅读 · 0 评论 -
Spark的checkpoint
Spark的checkpoint什么时候需要做检查点有时候中间结果数据或者shuffle后的数据需要在以后的job中经常调用,此时需要做checkpoint,checkpoint的目的地推荐最好把数据checkpoint到HDFS,保证数据安全性的前提下也便于集群所有节点能够获取到目的提高运算效率保证数据的安全性步骤1、设置目录sc.setCh...原创 2019-04-13 09:45:03 · 206 阅读 · 0 评论 -
Spark中transformation和Action的RDD算子
Spark中transformation和Action有的区别区别transformationtransformation是在现有的RDD上通过一定方法转换生成新的RDD,转换时延时执行(lazy)的;actionactions是指在RDD上进行计算,得到返回结果给驱动程序或写入文件系统, 触发job。综合执行了多次transformation,RDD并不一定会真正执行运算...原创 2019-04-13 11:03:27 · 436 阅读 · 0 评论 -
Spark2.0程序中的持久化数据到数据库中foreachPartition()方法报错
Spark2.0程序中的持久化数据到数据库中foreachPartition()方法报错出错的地方是foreachPartition(data2Mysql)中的方法data2Mysql报错代码val data2Mysql = (it:Iterable[(String, Int)]) => { var conn: Connection = null; var ps: ...原创 2019-04-13 16:55:23 · 560 阅读 · 0 评论 -
hive的企业级优化
hive的企业级优化说明:以下是常见的六个调优项Fetch抓取说明:所谓fetch抓取hive中的某些查询可以不必使用mapreduce来计算,例如select * from emp这个语句就没有使用mapreduce ,这种情况下,hive可以简单的读取emp目录对应的数据文件。设置方法:设置地方:hive-default.xml<property>...原创 2019-07-01 10:39:28 · 326 阅读 · 0 评论 -
hive的存储格式TextFile、RCFile、ORC
hived的存储格式TextFile、RCFile、ORC说明:所谓的存储格式就是hive的数据在hdfs上存放的具体方式;通过下面的文件我们看出hive的存储格式是一共有六种,每一种都是由自己的规则。file_format: : SEQUENCEFILE | TEXTFILE -- (Default, depending on hive.default.fileformat...原创 2019-07-01 10:37:57 · 2738 阅读 · 0 评论 -
sqoop的job做到每次免密登录的方式
说明: sqoop执行任务的时候会提示执行密码,这样的话在实际执行的时候会相对来说很麻烦,所有需要建立密码文件并指定–password-file 文件,文件最后还需要存放在hdfs上,权限为400为只读权限执行过程:在本地建立存放密码的文件:echo -n "mysql中sqoop数据的操作员的密码" >sqoopPWD.pwd注意: 这个文件里面不得有任何一个空格和换行,只能...原创 2019-07-11 09:56:38 · 510 阅读 · 0 评论 -
mapreduce的map端的分布式缓存
mapreduce的map端的分布式缓存必要性:有的时候我们需要完成一些类似于数据库的两表join的效果,这个时候就能够通过将其中的一个表提前加载到map中来,这个时候有了将一张表的数据缓存到内存中来,方便map的快速读取。这里有两种方法可以实现这个效果,下面就一个一个讲解。注意:想要将表缓存进内存中,那么表的大小不能够超过缓存的大小,否则就会造成数据溢出,影响数据的准确性。步骤:1...原创 2019-06-23 12:49:39 · 482 阅读 · 0 评论 -
mapreduce的自定义分组器
Mapreduce自定义分组器前提:有的时候我们想将符合条件的key值放在同一个组内;但是key的值是不同的将不会放进同一个组中。举例:想将一个学生的进校以后不同时间段的数学成绩按进校考试的时间进行一个成绩排序。如下效果//排序前的效果 stu1 time1 core1 stu1 time2 core stu1 time3 core3 stu2 time1 core1 stu2 t...原创 2019-06-18 17:55:50 · 846 阅读 · 1 评论 -
mapreduce的自定义输出格式
mapreduce自定义输出格式概念:当普通的输出格式不能满足客户的要求的时候。因为普通的输出格式是将结果直接输出到一个单一的文件中去。现在有的需求是将处理的结果输出到数据库中,或者是将结果按照不同的需求输出到不同的文件中去。举例:现在有一个需求是将一个文件读取进来后,然后判断文件中的被切割的字符串是否含有要求的字符串,如果有的话就输出到对应的文件中去。源码解析:源码pu...原创 2019-06-21 16:59:11 · 805 阅读 · 0 评论 -
mapreduce的自定义输入格式
mapreduce自定义输入格式概念:当普通的输入格不能满足客户的要求的时候。因为普通的输入格式是将文件的每一行输入的数据作为一个value值然后进行map端的操作。现在有的需求是将数据库中的数据作为一个输入的格式,或者是将一个文件的整体作为一个输入格式等。举例:现在有一个需求是将一个目录下的所有小文件读取进来,将文件的整个内容都作为一个value值进行输入。出来map端的值是文件名...原创 2019-06-21 14:59:40 · 595 阅读 · 1 评论 -
Kafka常用命令
Kafka常用命令开启和关闭kafka启动kafkanohup ./bin/kafka-server-start.sh ./config/server.properties &停止kafkabin/kafka-server-stop.sh关于topic创建topicbin/kafka-topics.sh --create --zookeeper localh...原创 2019-04-17 19:58:32 · 303 阅读 · 0 评论 -
Kafka组件
Kafka组件Kafka核心组件Topic :消息根据Topic进行归Producer:发送消息者Consumer:消息接受者broker:每个kafka实例(server)Zookeeper:依赖集群保存meta信息。Kafka名词解释和工作方式Producer :消息生产者,就是向kafka broker发消息的客户端。生产者复杂生产(采集)数据...原创 2019-04-17 19:57:45 · 393 阅读 · 0 评论 -
spark的DataFrame常用操作
spark的DataFrame常用操作DSL风格语法查看DataFrame中的内容personDF.show查看DataFrame部分列中的内容personDF.select(personDF.col("name")).showpersonDF.select(col("name"), col("age")).showpersonDF.select("name").show...原创 2019-04-15 09:19:09 · 376 阅读 · 0 评论 -
Spark的DataFrame创建实例
Spark的DataFrame创建实例说明是一个分布式数据集(是一个数据描述),封装了RDD和Schema信息,底层还是调用的RDD,我们可以像操作二维表的方式进行操作,简单来说,DataFream就是RDD和Schema信息的结合体什么是DataFrames与RDD类似,DataFrame也是一个分布式数据容器。然而DataFrame更像传统数据库的二维表格,除了数据以外,还记录数...原创 2019-04-14 19:02:25 · 338 阅读 · 0 评论 -
Spark sql理论简介
Spark sql简介什么是spark sqlSpark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。了解Spark Sql的必要性我们知道hive,它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduce的程序的复杂性,由于MapReduce这种计算模型执行...原创 2019-04-14 17:02:13 · 184 阅读 · 0 评论 -
Spark连接mysql数据库的方法
Spark连接mysql数据库的方法引入pom文件在maven项目中的pom.xml中引入mysql连接的依赖 <!--mysql驱动依赖--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-conn...原创 2019-04-13 17:23:21 · 664 阅读 · 0 评论 -
Spark的将IP转换为Long型的方法
Spark的将IP转换为Long型的方法ip格式192.168.111.4转换方法/** * 把IP转化为long类型的数据 * @param ip * @return */ def ip2Long(ip: String): Long = { val fragments = ip.split("[.]") var ipNum = 0L...原创 2019-04-13 17:13:15 · 516 阅读 · 0 评论 -
nginx服务器生成访问url格式设置
nginx服务器生成访问url格式设置配置文件编辑配置文件vi /etc/nginx/nginx.conf配置文件详情user root; #nginx的运行账号(rpm安装时会自动创建这个账号),也可以写成user nginx nginx表示用户和组worker_processes 10; #工作进程数(worker),一般等于cpu内核数或者两...原创 2019-04-13 17:08:30 · 1011 阅读 · 0 评论 -
HBase的shell操作
HBase的shell操作1、Gerneralstatus:查询当前服务器状态Version:查看当前版本Whoami:查询当前hbase用户2、namespace的操作create_namespace: 创建命名空间,相当于关系型数据库里创建一个数据库创建一个命名空间名为‘luodesong’,并添加属性create_namespace ‘luodesong’,...原创 2019-03-27 11:36:13 · 195 阅读 · 0 评论 -
Sqoop的数据导入&导出
Sqoop的数据导入、导出sqoop导入就是从关系型数据库(mysql)的数据导入到 Hadoop 与其相关的系统 (如HBase和Hive)中。1 语法$ sqoop import (generic-args) (import-args) 2 案例测试之前先在mysql中准备数据:create database sqoop; --创建名为sqoop的数据库use sq...原创 2019-03-31 13:35:51 · 355 阅读 · 0 评论 -
hive的视图(view)
hive的视图(view)视图: 视图相当于一个表。hive目前只支持逻辑视图,而不支持物理视图。视图的优点:降低复杂查询。可以将数据很好过滤(局部暴露)。1、创建视图 CVAS创建视图create view if not exists v1 as select * from u1;create view if not exists v2 as select * from u1...原创 2019-03-25 16:58:50 · 2240 阅读 · 0 评论 -
hive数据库操作、数据表操作、数据的导入和导出命令
hive的基本命令数据库的创建定义本质上是在hdfs上创建一个目录,使用comment加入数据库的描述信息,描述信息放在引号里。数据库的属性信息放在描述信息之后用with dbproperties 加入,属性信息放在括号内,属性名和属性值放在引号里,用等号连接有多条属性用逗号分隔例子##创建一个数据库名为myhive,加入描述信息及属性信息create database myhiv...原创 2019-03-22 11:07:06 · 1204 阅读 · 0 评论 -
scala部分语法
映射map有两种方式方法一:-&gt; 可变方法二:()不可变获取值:map名.getOrElse(key,默认的value)修改:map名(key)= 新value元组:下标是1开始的初始化:val t = (“scala”,10,(“spark”,1))取值:t._1;t._2._1初始化:val t,(a,b) = (“scala”,10,(“spark”,1))取值:a;...原创 2019-03-13 11:25:05 · 122 阅读 · 0 评论 -
scala自定义函数和方法
scala中函数与方法的讲解:1.两者的同异点:① 二者在语义上的区别很小。Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。② Scala 中的方法跟 Java 的类似,方法是组成类的一部分。③ Scala 中的函数则是一个完整的对象,Scala 中的函数其实就是继承了 Trait 的类的对象。④Scala 中使用 val 语句可以定...原创 2019-03-13 11:27:23 · 1875 阅读 · 0 评论