自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 hive 的一些参数整理

mapreduce 参数:return Math.max(minSize, Math.min(maxSize, blockSize));mapreduce.input.fileinputformat.split.minsize (default 0)mapred.min.split.sizeThe minimum size chunk that map input should be split into. Note that some file formats may have minimum s

2020-12-23 14:58:44 298

原创 SparkStreaming注意要点

http://spark.apache.org/docs/latest/streaming-programming-guide.htmlSpark官网已经已经将用法与概念写的很详细了。这里写一点平时需要注意的要点。Spark:是以批处理为主,用微批处理来处理流数据Flink:以流处理为主,用流处理来处理批数据StreamingContextssc ==> Source ==&gt...

2019-05-30 16:09:52 420

原创 对未经优化的HashShuffleManager产生小文件数的验证。

小文件数 = M * R4*2 val dataRDD = sc.textFile("file:///E:\\ruozeinput.txt",4) dataRDD.flatMap(_.split("\t")).map((_,1)).reduceByKey(_ + _,2).foreach(println)5*3val dataRDD = sc.textFile("file...

2019-05-23 15:23:37 295

原创 DataFrame API 小记

http://spark.apache.org/docs/latest/sql-getting-started.html官网写的很详细。这里只是个人觉得一些必要内容的摘抄。第一步:Starting Point: SparkSession:import org.apache.spark.sql.SparkSessionval spark = SparkSession .builder...

2019-05-22 17:06:19 425

原创 Spark SQL入门

Spark SQL is Apache Spark’s module for working with structured data.Spark SQL 是spark的模块用来处理结构化的数据(类似一张表,ORC/Parquet/JSON),不仅仅是SQL。Spark SQL是1.0版本出来的,1.3毕业的Spark 的 SQL框架:Spark SQL:是spark的一个分支而Hive...

2019-05-22 14:08:16 147

原创 共享变量与broadcast join

共享变量通常,当在远程集群节点上执行传递给Spark操作(例如mapor reduce)的函数时,它将在函数中使用的所有变量的单独副本上工作。这些变量被拷贝到每台机器上。并且远程计算机上的变量的更新不会传播回驱动程序。这样读写共享变量效率低下。但是,Spark确实为两种常见的使用模式提供了两种有限类型的共享变量:广播变量(broadcast variables)和计数器( accumulator...

2019-05-19 15:03:26 1181

原创 利用sparkcore进行ETL并输出为orc,parquet文件

前置条件:开启hivemetastore服务。能与hive进行交互[hadoop@hadoop-01 data]$ spark-shell --driver-class-path /home/hadoop/app/hive-1.1.0-cdh5.7.0/lib/mysql-connector-java.jarscala> import org.apache.spark.sql.hiv...

2019-05-17 16:17:43 1350

原创 Spark的一些优化点

因为spark的计算都是基于内存的,他的瓶颈有:cpu,带宽(network bandwidth),memory。通常情况下,如果数据是在内存里面的,瓶颈就在带宽上面,你也可以做一些其他优化,如RDD序列化(减少内存的使用)。Data Serialization数据序列化序列化在我们的分布式应用中扮演了一个非常重要的角色。默认使用JAVA serialization,比较灵活但是比较慢而且...

2019-05-14 22:38:41 207

原创 了解spark-shell的启动流程

REPL :Read-Eval-Print Loop「读取-求值-输出」循环(英语:Read-Eval-Print Loop,简称REPL)是一个简单的,交互式的编程环境。#!/usr/bin/env bash## Licensed to the Apache Software Foundation (ASF) under one or more# contributor licens...

2019-05-14 15:29:17 346

原创 RDD常用算子的一些注意要点。

产生shuffle的算子,分区操作:repartition,coalesce。‘ByKey’操作(除了counting)如:groupByKey和reduceByKey。join操作:cogroup和joinrepartition源码: /** * Return a new RDD that has exactly numPartitions partitions. * * ...

2019-05-14 14:44:27 339

原创 Spark on YARN 的一些碎碎念

Spark on YARN OverviewMR:base-processeach task in its own process:MapTask ReduceTask processwhen a task completes,the process goes awaySpark:base-threadmany tasks can run concurrently in a single...

2019-05-12 15:47:06 115

原创 RDD的宽窄依赖

在设计RDD的接口时,一个有意思的问题是如何表现RDD之间的依赖。在RDD中将依赖划分成了两种类型:窄依赖(narrow dependencies)和宽依赖(wide dependencies)。窄依赖是指父RDD的每个分区都只被子RDD的一个分区所使用。相应的,那么宽依赖就是指父RDD的分区被多个子RDD的分区所依赖。例如,map就是一种窄依赖,而join则会导致宽依赖(除非父RDD是hash-...

2019-05-11 00:39:51 621

原创 关于cache()和persist()

/** * Persist this RDD with the default storage level (`MEMORY_ONLY`). */ def persist(): this.type = persist(StorageLevel.MEMORY_ONLY) /** * Persist this RDD with the default storage lev...

2019-05-10 23:26:46 492

原创 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, o...

2019-05-08 19:52:41 901

原创 RDD深入讲解

RDD原码:https://github.com/apache/spark/tree/master/core/src/main/scala/org/apache/spark/rdd什么是RDD?一个弹性可分布式的数据集。弹性主要体现在计算之上。他是spark里一个最基本的抽象单元。代表了一个immutable(不可变的),能够并行操作的可以被分区的数据集 partitioned collect...

2019-05-07 21:12:57 176

原创 Spark的运行架构

原官网。http://spark.apache.org/docs/latest/cluster-overview.html术语含义Application基于spark构建的用户程序代码。由集群上的一个driver program 和多个executorApplication jar一个包含用户Spark应用的JarDriver program这是一个进程,运...

2019-05-07 19:54:54 1300

原创 Scala基础三

字符串差值val name = "zhangsan"println("name is:"+name) //这种写法不友好println(s"name is:$name")//前面加个s ,调用时使用美金符$文件操作val source = Source.fromFile("E://") for (str <- source.getlines()){ pri...

2019-04-26 22:52:32 190

原创 scala基础2

继承子类extends 父类package com.ruozedata.bigdata.scala03//父类class Person { var name : String =_ var age :Int = _}package com.ruozedata.bigdata.scala03//子类class Student extends Person{//name继承...

2019-04-26 16:07:56 125

原创 scala基础

声明变量Scala中声明变量的格式:var 变量名=初始值 val 变量名 = 初始值var 变量名:数据类型=初始值 val变量名:数据类型 = 初始值scala> val user:String="jdfs"user: String = jdfsscala> val name="kkk" ##声明未指定类型时,scala...

2019-04-23 19:22:58 140

原创 HIVE在MySQL中的元数据表的一些介绍

hive在mysql里的元数据表:这些表一些表有助于我们更加了解hive的执行。如:VERSIONDBSTBLSSDSCOLUMNS_V2PARTITIONSPARTITION_KEYSPARTITION_VALUES…---------------------------+| Tables_in_hive |+-------------------...

2019-04-22 19:10:26 682

原创 将ETL过后的数据以parquet的存储方式导入hive

[hadoop@hadoop-01 shell]$ cat g6-train-hadoop2.sh process_date=20180717echo "step1: mapreduce etl"hadoop jar /home/hadoop/lib/g6-hadoop-1.0.jar com.ruozedata.hadoop.mapreduce.driver.LogETLDriver /...

2019-04-20 18:12:20 1499

原创 将UDF注册到源码中,并重新编译

下载源码并解压 wget http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0-src.tar.gz 修改源码事先写了个HelloUDF.java。添加helloUDF2.java将helloUDF2.java 放入 /root/hive-1.1.0-cdh5.7.0/ql/src/java/org/apache/had...

2019-04-19 01:39:40 194

原创 HIVE的执行流程及UDF

HIVE SQL的执行流程SQL ON HADOOP ⇒ ClusterSQL ⇒ Parser ⇒ AST(抽象语法树) ⇒ Analyzer⇒ QB⇒ Logical Plan⇒ Operator Tree⇒ Logical Optimizer⇒ Operator Tree ⇒ Physical Plan ⇒TaskTree⇒ Physical Optimizer⇒ Task Tr...

2019-04-18 22:58:00 1539

原创 部署HUE

第一步:下载Hue的压缩包并上传到linux解压http://archive.cloudera.com/cdh5/cdh/5/hue-3.9.0-cdh5.7.0.tar.gz第二步:编译安装启动2.1联网安装各种必须的依赖包: yum install ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gcc ...

2019-04-18 00:13:44 128

原创 使hadoop支持LZO压缩

前置配置hadoopmaven安装一些依赖yum -y install lzo-devel zlib-devel gcc autoconf automake libtool安装LZO1、下载#下载 wget www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz # 解压缩 [hadoop@hadoop...

2019-04-17 17:03:14 178

原创 hive的存储格式及压缩

行式存储与列式存储行式存储特点:保证一条记录里面的所有字段能够存放在同一个hdfs的block里优点:当查询所有(select * from tbname)时,能直接查询出来缺点:不同列的字段类型不同,压缩性能差,空间利用率差只查询某几列数据的时候,必须先把所有数据读取进来,在提取所需的几列,结果会增加磁盘IO,效率低列式存储优点:每一列的数据类型是一样的,所有可以采用一定...

2019-04-16 22:15:49 617

原创 大数据里常见的几种压缩格式压缩

离线处理流程:为什么使用压缩当使用MapReduce经过ETL后落到HDFS上时,若使用普通文本格式TXT ,那一般副本数为三,若一个副本为500T,500*3=1500? 显然是不现实的。压缩的第一个好处,就是节省我们的磁盘空间,提升磁盘利用率,第二个就是加速我们网络的传输。缺点:需要占用cpu资源进行压缩与解压,且,压缩与解压需要时间。!!!所以如果整个集群cpu利用率非常高,不要...

2019-04-16 19:38:01 4684

原创 MapReduce的shuffle深入详解

整个MapReduce阶段可分为MapTask,ReduceTaskMaptask阶段包含shuffle阶段的分区,排序(sort),规约(combiner),等ReduceTask阶段的分组。MapTask运行机制详解以及Map任务的并行度整个Map阶段流程大体如上图所示。简单概述:inputFile通过split被逻辑切分为多个split文件,通过Record按行读取内容给map...

2019-04-16 11:29:30 1120

原创 使用shell脚本发送邮件带附件

配置1、授权码:在邮箱设置里面开启授权码授权。2、启动postfix1.1 启动postfix#sendmialservice sendmail stopchkconfig sendmail off#postfixservice postfix startchkconfig postfix on如果postfix start失败[root@rzdatahadoop002 ...

2019-04-15 12:59:39 1337

原创 shell编程常用语法

格式与使用:shell脚本是以.sh结尾的文件,执行文件的方法有两种:一、./hello.sh表示执行当前目录下的hello.sh脚本,执行条件:1、需要在文件的第一行写 #!/bin/bash #!是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。2、赋予执行权限chmod +x hello.sh二、作为解释器参数运行sh hello.s...

2019-04-14 16:00:34 110

原创 关于HDFS_Block损坏恢复

在HDFS中,提供了fsck命令,用于检查HDFS上文件和目录的健康状态、获取文件的block块信息和位置信息等。具体命令介绍:-move: 移动损坏的文件到/lost+found目录下-delete: 删除损坏的文件-openforwrite: 输出检测中的正在被写的文件-list-corruptfileblocks: 输出损坏的块及其所属的文件-files: 输出正在被检测的文件...

2019-04-07 20:17:37 2203

原创 hdfs&&yarn HA 详解

HA进程: 3台机器hadoop001:ZK NN ZKFC JN DNhadoop002:ZK NN ZKFC JN DNhadoop003:ZK JN DNZK集群2n+1个。根据经验值,20台节点布置5台zk,20~100布置7/9/11台,>100台布置11台。各角色功能介绍:NameNode:集群当中的主节点...

2019-04-07 18:00:46 189

原创 编译hadoop-2.6.0-cdh5.7.0 使之支持snappy压缩

环境准备准备一台centos 64虚拟机关闭防火墙命令:service iptables stopchkconfig iptables off 关闭selinuxvim /etc/selinux/config创建目录:mkdir sourcecode software上传软件包、源码包并解压安装jdk1.7!!!!此处必须使用jdk1.7。使用1.8编译...

2019-04-07 16:43:49 247

原创 部署hadoop-2.6.0-cdh5.7.0 HA

集群运行服务规划环境准备准备三台虚拟机192.168.247.210 hadoop001192.168.247.220 hadoop002192.168.247.230 hadoop003并创建hadoop用户su - hadoopmkdir app将以下三个安装包上传到app目录hadoop-2.6.0-cdh5.7.0.tar.gz jdk-8u45-linux-x64...

2019-04-07 15:50:56 427

原创 hadoop离线项目之数据清洗

企业级项目开发流程一、项目调研:以业务为导向产品经理、非常熟悉业务、项目经理二、需求分析:做什么 做成什么样用户提出来的:显式隐式:用户不清楚,团队需提供三、方案设计概设详设 (具体到所有功能的实现,技术,表,模块,字段,有多少个类,类里的方法及方法名,参数,返回类型。。。)系统设计 (系统的扩展,水平的扩展,是否容错,可不可以定制化,监控告警…)四、功能开发开发测试:...

2019-03-30 11:06:02 387

原创 HIVE简单实战

需求:统计各个城市所属区域下最受欢迎的Top 3产品数据准备:mysql:city_info : 城市信息表product_info: 产品信息表hive:user_click:用户行为点击日志表create table user_click(user_id int,session_id string,action_time string,city_id int,pr...

2019-03-23 22:06:16 393

原创 hive进阶:分区表与三种复杂数据类型

分区表:在大数据中,最常用的一种思想就是分治,我们可以把大的文件切割划分成一个个的小的文件,这样每次操作一个小的文件就会很容易了,同样的道理,在hive当中也是支持这种思想的,就是我们可以把大的数据,按照每天,或者每小时进行切分成一个个的小的文件,这样去操作小的文件就会容易得多了。创建分区表语法:create table order_partition(order_no string,e...

2019-03-19 21:03:55 837

原创 hive常用基础DML

DML:基本的Select操作语法结构:与sql语法基本相同SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference[WHERE where_condition] [GROUP BY col_list [HAVING condition]] [CLUSTER BY col_list | ...

2019-03-19 01:26:54 209

原创 Hive 常用DDL

DDL:CREATE/DROP/ALTER/MSCK/SHOW/DESCRIBE建库语法:CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name[COMMENT database_comment][LOCATION hdfs_path][WITH DBPROPERTIES (property_name=property_value, ...

2019-03-19 00:31:32 98

原创 hive的基本概念及部署

Hive简介Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。其本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据的存储,说白了hive可以理解为一个将SQL转换为MapReduce的任务的工具,甚至更进一步可以说hive就是一个MapReduce的客户端为什么使用Hive直接使用hadoop所面临...

2019-03-03 18:25:06 154

空空如也

空空如也

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

TA关注的人

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