自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (1)
  • 收藏
  • 关注

原创 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: java.sql.SQLException

执行命令sqoop list-databases --connect jdbc:mysql://hadoop01:3306 --username root --password ok报错信息如下20/12/21 11:11:26 ERROR manager.CatalogQueryManager: Failed to list databasesjava.sql.SQLException: Your password has expired. To log in you must change i

2020-12-21 11:39:28 3143 4

原创 SparkStream实现wordcount详解(java和scala篇)

scala版本package nj.zb.sparkimport org.apache.spark.SparkConfimport org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream}import org.apache.spark.streaming.{Seconds, StreamingContext}/** * @Title: ${XiongJinbiao} * @Package ${nj.zb}

2020-12-19 15:17:12 427 1

原创 hive静态分区,动态分区,分桶区别

文章目录绪论创建静态分区表1、准备数据2、建表语句3、添加分区,加载数据4、进入网页(50070)查看创建动态分区表1、准备数据2、建表语句1、首先创建普通表2、加载数据3、创建动态分区表4、设置动态分区5、使用insert ... select 往动态分区插入数据6、查看分区3、进入50070查看某一个分区下内容建立分桶表建表语句打开分桶,插入数据进入50070查看绪论1、动态分区与静态分区的区别在于静态分区是手动指定,即通过alter table … 语句添加,而动态分区是基于查询参数的位置去推断出

2020-12-11 14:58:53 1607

原创 使用flume将本地数据导入kafka

文章目录创建topicflume操作使用kafka命令验证创建topic[root@hadoop1 kafka]# kafka-topics.sh --zookeeper hadoop1:2181 --create --topic users --partitions 1 --replication-factor 1Created topic "users".flume操作创建所需文件夹[root@hadoop1 jobkb09]# mkdir dataSourceFile[root@had

2020-12-08 19:59:23 284

原创 kafka

文章目录kafka安装1、下载并安装改名2、修改配置文件server.properties3、配置环境变量测试kafka1、启动kafka2、常用命令创建topic查看topic查看topic信息查看分区信息个数查看分区信息内容删除topic(默认不可以删除,要删除需要在service.properties加入delete.topic.enable=true)使用java操作kafka编写java代码模拟productor生产信息编写java代码模拟consumer消费信息kafka安装1、下载并安装改

2020-12-07 18:42:18 57

原创 flume常用操作

文章目录几种flume常用的操作从控制台输入,本地连接读取本地文件本地读取文件(带筛选器Interceptors),实时更新(随本地时间更新时间目录),并上传至hdfs使用java代码 自定义筛选器(Interceptors)几种flume常用的操作从控制台输入,本地连接[root@hadoop1 ~] cd /opt/flume/conf/jobkb09[root@hadoop1 jobkb09] vi netcat-flume-logger.confnetcat-flume-logger.c

2020-12-02 20:04:17 256

原创 flume

文章目录1、flume 简介2、flume NG介绍flume特点flume 核心概念flume NG体系结构SourceChannelSink3、Flume的部署类型单一流程多代理流程(多个agent顺序连接)流的合并(多个Agent的数据汇聚到同一个Agent )多路复用流(多级流)load balance功能4、flume安装flume下载解压配置安装1、flume 简介flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。Flume 初始的发行版本目前被统称为

2020-12-02 18:38:28 84

原创 Spark GraphX 之ConnectComponent

转载GraphX 之ConnectComponent首先准备数据people.csv内容如下4,Dave,256,Faith,218,Harvey,472,Bob,181,Alice,203,Charlie,307,George,349,Ivy,215,Eve,3010,Lily,3511,Helen,3512,Ann,35links.csv内容如下1,2,friend1,3,sister2,4,brother3,2,boss4,5,client1,9,frien

2020-11-26 17:14:30 320

原创 Spark GraphX的图形数据分析

文章目录一、为什么需要图计算?二、图的基本概念三、图的术语1、顶点和边2、有向图和无向图3、有环图和无环图4、度(出度和入度)四、图的经典表示法五、Spark GraphX简介六、GraphX核心抽象七、GraphX API创建Graph案例1案例23、查看图信息4、图的算子1、属性算子2、结构算子3、Join算子5、GraphX API 应用一、为什么需要图计算?许多大数据以大规模图或网络的形式呈现许多非图结构的大数据,常会被转换为图模型进行分析图数据结构很好地表达了数据之间的关联性二、图的基

2020-11-25 19:48:11 243

原创 Spark 高级操作之json复杂和嵌套数据结构的操作

下面几个是本文重点要讲的方法get_json_object()from_json()to_json()explode()准备阶段准备一个json标准格式文件op.json,内容如下1593136280858|{"cm":{"ln":"-55.0","sv":"V2.9.6","os":"8.0.4","g":"[email protected]","mid":"489","nw":"3G","l":"es","vc":"4","hw":"640*960","ar":"MX","uid":"4

2020-11-20 22:34:26 353

原创 Spark 之 UDTF

UDTF测试udtf.txt文本内容01//zs//Hadoop scala spark hive hbase02//ls//Hadoop scala kafka hive hbase Oozie03//ww//Hadoop scala spark hive sqoop要求输出 type Hadoop scala kafka hive hbase Oozie实现代码package nj.zb.kb09.sqlimport java.utilimport org.

2020-11-18 09:54:00 253

原创 Spark 之 UDAF

一、UDAF简介先解释一下什么是UDAF(User Defined Aggregate Function),即用户定义的聚合函数,聚合函数和普通函数的区别是什么呢,普通函数是接受一行输入产生一个输出,聚合函数是接受一组(一般是多行)输入然后产生一个输出,即将一组的值想办法聚合一下。关于UDAF的一个误区我们可能下意识的认为UDAF是需要和group by一起使用的,实际上UDAF可以跟group by一起使用,也可以不跟group by一起使用,这个其实比较好理解,联想到mysql中的max、min等

2020-11-17 19:44:46 1161

原创 Spark SQL函数

内置函数(org.apache.spark.sql.funtions.scala)内置函数的使用模拟用户访问日志信息,acceLog.txt内容如下2016-12-27,0012016-12-27,0012016-12-27,0022016-12-28,0032016-12-28,0042016-12-28,0022016-12-28,0022016-12-28,001package nj.zb.kb09.sqlimport org.apache.spark.sql.{Row

2020-11-17 12:16:53 189

原创 Spark SQL操作外部数据源

Parquet文件:是一种流行的列式存储格式,以二进制存储,文件中包含数据与元数据package nj.zb.kb09.sqlimport org.apache.spark.sql.{Row, SparkSession}import org.apache.spark.sql.types.{IntegerType, StringType, StructField, StructType}object SparkSQL1 { def main(args: Array[String]): Unit

2020-11-17 11:26:35 77

原创 Spark SQL API

Spark SQL架构Spark SQL是Spark的核心组件之一(2014.4 Spark1.0)能够直接访问现存的Hive数据提供JDBC/ODBC接口供第三方工具借助Spark进行数据处理提供了更高层级的接口方便地处理数据支持多种操作方式:SQL、API编程支持多种外部数据源:Parquet、JSON、RDBMS等SparkContextSQLContext:Spark SQL的编程入口HiveContext:SQLContext的子集,包含更多功能SparkSession(Spa

2020-11-16 20:00:06 636

原创 Spark RDD算子只分区操作mapPartitions、mapPartitionsWithIndex(scala和java版本)

mapPartitions可以理解为先进行partition,再对每一个partition进行map1、把每一个元素 i 变为 map(i , i*i)scala版本val rdd = sc.parallelize(List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)) def mapPartFunc(iter: Iterator[Int]): Iterator[(Int, Int)] = { val res = List[(Int, Int)]()

2020-11-10 18:56:33 453

原创 Spark RDD算子键值对关联操作subtractByKey、join、leftOuterJoin、rightOuterJoin、fullOuterJoin

subtractByKeydef subtractByKey[W](other: RDD[(K, W)])(implicit arg0: ClassTag[W]): RDD[(K, V)]def subtractByKey[W](other: RDD[(K, W)], numPartitions: Int)(implicit arg0: ClassTag[W]): RDD[(K, V)]def subtractByKey[W](other: RDD[(K, W)], p: Partitioner)(i

2020-11-09 19:52:36 149

原创 Spark RDD算子键值对分组操作groupByKey,cogroup(scala、java版本)

groupByKeydef groupByKey(): RDD[(K, Iterable[V])]def groupByKey(numPartitions: Int): RDD[(K, Iterable[V])]def groupByKey(partitioner: Partitioner): RDD[(K, Iterable[V])]groupByKey会将RDD[key,value] 按照相同的key进行分组,形成RDD[key,Iterable[value]]的形式, 有点类似于sql中的g

2020-11-09 19:11:34 713

原创 Spark常用动作算子 first、take、collect、count、countByValue、reduce、aggregate、fold、takeOrdered(java和scala版本)

scala版本import org.apache.spark.{SparkConf, SparkContext}object ActionRDDScala { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("actionRDD").setMaster("local[2]") val sc = new SparkContext(conf) val rdd = sc.

2020-11-09 16:50:43 582

原创 Spark RDD算子(1)java版本

java版本,scala版本请参考Spark常用RDD算子Spark RDD算子聚合操作1Spark RDD算子聚合操作2sample.txt内容如下aa bb cc aa aa aa dd dd ee ee ee eeff aa bb zksee kksee zz zksimport org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.

2020-11-05 15:08:41 202

原创 Spark RDD算子(3)聚合操作reduceByKey,sortByKey

reduceByKeydef reduceByKey(func: (V, V) => V): RDD[(K, V)]def reduceByKey(func: (V, V) => V, numPartitions: Int): RDD[(K, V)]def reduceByKey(partitioner: Partitioner, func: (V, V) => V): RDD[(K, V)]接受一个函数,按照相同的key进行reduce操作,类似于scala中的reduces

2020-11-04 19:00:13 255

原创 Spark RDD算子(2)聚合操作combineByKey,foldByKey

combinByKeydef combineByKey[C](createCombiner: (V) => C, mergeValue: (C, V) => C, mergeCombiners: (C, C) => C, partitioner: Partitioner, mapSideCombine: Boolean = true, serializer: Serializer = null): RDD[(K, C)]该函数用于将RDD[K,V]转换成RDD[K,C],这里的V类型和

2020-11-04 18:24:55 187

原创 SparkRDD算子(1)parallelize,makeRDD,textFile,filter,map,flatMap,distinct,union,intersection,subtract...

Spark常用RDD算子(1)(scala版本)parallelize调用SparkContext的parallelize(),将一个集合变成一个RDDdef parallelize[T](seq: Seq[T],numSlices: Int)(implicit evidence$1: scala.reflect.ClassTag[T]): org.apache.spark.rdd.RDD[T]第一个参数是集合,第二参数是分区数,返回的是RDD[T]scala> sc.parallelize

2020-11-04 15:19:58 247

原创 Spark基础及架构

为什么我们要使用Spark1、MapReduce编程模型的局限性繁杂:只有Map和Reduce两个操作,复杂的逻辑需要大量的样板代码处理效率低:Map中间结果写进磁盘,Reduce写HDFS,多个Map通过HDFS交换数据;任务调度与启动开销大不适合迭代处理、交互式处理和流式处理2、Spark是类Hadoop MapReduce的通用并行框架Job中间输出结果可以保存在内存,不再需要读写HDFS;比MapReduce平均快10倍以上Spark优势1、速度快:基于内存数据处理,比MR快100个数

2020-11-03 16:23:05 192

原创 隐式参数和隐式函数

隐式参数方法可以具有隐式参数列表,由参数列表开头的implicit关键字标记implicit只能修改最尾部的参数列表,应用于全部参数Scala可自动传递正确类型的隐式参数值通常与柯里化函数结合使用def sum(a:Int)(implicit b:Int):Int={ a+b}implicit var b:Int=10sum(10) //20隐式函数(也叫隐式转换)//类型转换implicit def doubleToInt(a:Double):Unit={ a.toInt

2020-11-02 11:59:54 717

原创 scala面向对象(oop)

伴生类和伴生对象伴生类和伴生对象在同一个文件夹,名字相同,class类称为object的伴生类,object对象称为class的伴生对象//伴生类class Student(name:String,age:Int){ //私有变量,伴生对象可以访问 private var name=n private var age=a}//伴生对象object Student{ //使用伴生对象的apply()方法省掉new关键字。Student.apply()等价于Student()

2020-11-02 11:19:55 64

原创 使用scala连接mysql

先建好工程,添加jar包(去官网下载,或者在虚拟机hive/lib目录下下载)mysql-connect-java-5.1.38.jar如果是maven工程,只需要在pom.xml文件里添加 <plugin> <artifactId>mysql-connect-java</artifactId> <version>5.1.38</version> </plugin&g

2020-11-02 10:40:14 408

原创 scala之Array方法

scala之数组val arr:Array[Int]=Array(1,2,3,4) //声明一个数组对象val firstValue=arr(0) //读取第一个元素arr(3)=100 //吧第四个元素替换为100//所有元素乘2val big=arr.map(_*2)val big=arr.map(x=>x*2)++合并两个数组的所有元素val a=Array(1,2)val b=Array(3,4)val c=a++b // (1,2,3,4)++:和++类似,多了

2020-10-28 16:13:26 1693

原创 Scala模式匹配详解

模式匹配是Scala中非常有特色,非常强大的一种功能。模式匹配,其实*类似于Java中的swich case语法,即对一个值进行条件判断,然后针对不同的条件,进行不同的处理。但是Scala的模式匹配的功能比Java的swich case语法的功能要强大地多,Java的swich case语法只能对值进行匹配。但是Scala的模式匹配除了可以对值进行匹配之外,还可以对类型进行匹配、对Array和List的元素情况进行匹配、对case class进行匹配、甚至对有值或没值(Option)进行匹配。而且对于S

2020-10-22 15:29:31 1649

原创 Scala函数详细介绍

Scala函数函数是Scala的核心//函数的定义def 函数名[参数列表]:[返回值类型]={ 函数体 return[表达式] } //函数调用 函数名[参数列表]命名参数//通常情况下,传入的参数与函数定义的参数列表应一一对应def printName(first:String, last:String) = { println(first + " " + last)}printName("John","Smith")//也允许使用任意顺序传入参数pr

2020-10-21 15:33:13 1911

原创 scala入门

首先得在windows安装scala以及在idea上配置scala插件,可参考scala安装scala简介Scala源自Java,Scala构建在JVM之上,Scala与Java兼容、互通Scala的优势多范式编程:面向对象编程、函数式编程表达能力强,代码精简大数据与ScalaSpark采用Scala语言设计提供的API更加优雅基于JVM的语言更融入Hadoop生态圈Scala概述面向对象特性每个值都是对象对象的数据类型和行为由类(Class)和特征(Trait,类似于inter

2020-10-20 15:00:03 119

原创 scala安装及idea配置scala插件

前提:windows已安装好jdk,可参考jdk安装和配置1、下载好scala在windows上的安装包,后缀为.msi,下载网址为scala下载下载windows系统的安装包2、然后就可以进行scala安装,安装位置默认为C:\Program Files\scala-2.13.3.msi3、配置环境变量鼠标右键点击我的电脑 >>属性 >>高级系统设置 >>环境变量 >>(系统变量)在PATH路径中添加%SCALA_HOME%\bin%S

2020-10-19 14:40:22 389

原创 hive里lateral view经典案例

需求:用一个hql语句实现第一步:准备数据张三|math:60,english:90李四|math:65,english:80王五|math:90,english:90第二步:建表create table tab2(name string,params map<string,int>)row format delimited fields terminated by '|' collection items terminated by ',' map keys termin

2020-10-15 15:33:20 226

原创 Apache Sqoop 介绍及数据迁移

Sqoop是什么?Sqoop是一个用于在Hadoop和关系数据库之间传输数据的工具将数据从RDBMS导入到HDFS(HDFS、Hive、HBase),从HDFS导出数据到RDBMS,使用MapReduce导入和导出数据,提供并行操作和容错目标用户:系统管理员、数据库管理员、大数据分析师、大数据开发工程师等1、从RDB(关系型数据库)导入数据到HDFS-1导入表到HDFS[root@hadoop1 sqoop]# bin/sqoop-import \--配置数据库连接为MySQL中数据库hive

2020-10-12 16:05:21 174

原创 Sqoop环境搭建

Sqoop环境搭建1、Sqoop安装安装Sqoop前提是已经具备java、hadoop、hive、zookeeper、hbase、mysql的环境未安装完全的可参考jdk安装hive和hbase安装hadoop安装zookeeper安装mysql安装2、下载并解压首先上传安装包到opt目录并解压然后改名tar -zxvf sqoop-1.4.6-cdh5.14.2.tar.gz mv sqoop-1.4.6-cdh5.14.2.tar.gz sqoop3、配置环境变量[roo

2020-09-26 14:40:02 172

原创 NoSQL综述及Apache HBase基础

NoSQL综述什么是NoSQL:NoSQL:not only SQL,非关系型数据库NoSQL是一个通用术语指不遵循传统RDBMS模型的数据库数据是非关系的,且不使用SQL作为主要查询语言解决数据库的可伸缩性和可用性问题不针对原子性或一致性问题为什么我们要使用NoSQL:互联网的发展,传统关系型数据库存在瓶颈高并发读写高存储量高可用性高扩展性低成本NoSQL和关系型数据库对比NoSQL的特点最终一致性应用程序增加了维护一致性和处理事务等职责冗余数据存储NoSQL !

2020-09-24 18:57:19 139 1

原创 Hive UDF开发流程

Hive UDF开发流程前提:保证maven工程可以正常创建并使用,并且下载相关jar包配置maven工程可参考https://editor.csdn.net/md/?articleId=108408011步骤简介:1、继承UDF类或GenericUDF类2、重写evaluate()方法并实现函数逻辑3、编译打包为jar文件4、复制到HDFS路径5、使用jar创建临时/永久函数6、调用函数示例:实现计算两个小时的时间差首先写出实现函数的java代码public class HourD

2020-09-22 17:36:03 249

原创 Apache Hive高级查询(1)

select基础select 用于映射符合查询条件的行hive select 是数据库标准的SQL的子集--使用方法类似于MySQLSELECT 1;SELECT [DISTINCT] column_nam_list FROM table_name;SELECT * FROM table_name;SELECT * FROM employee WHERE name!='Lucy' LIMIT 5;CTE和嵌套查询CTE (Common Table Expression)--CTE语

2020-09-19 10:42:39 86

原创 Apache Hive基础

Apache Hive基础Hive优势:提供了一个简单的优化模型HQL类SQL语法,简化MR开发支持在不同的计算框架上运行支持在HDFS和HBase上临时查询数据支持用户自定义函数、格式成熟的JDBC和ODBC驱动程序,用于ETL和BI稳定可靠(真实生产环境)的批处理有庞大活跃的社区Hive元数据管理记录数据仓库中模型的定义存储在关系数据库中默认是Derby,轻量级内嵌SQL数据库,Derby非常适合测试演示,存储在.metastore_db目录中实际生产一般储存在MySQL中,

2020-09-16 15:57:44 172

原创 Hbase和Hive安装

安装Hbase1、解压压缩包到opt目录下,改名为hbase2、配置环境变量:export HBASE_HOME=/opt/hbaseexport PATH=$ PATH:$HBASE_HOME/bin3、然后cd /opt/hbase/conf,在输入vi hbase-env.sh进入底部添加:export JAVA_HOME=/opt/java8(java8为你的jdk的文件名)export HBASE_MANAGES_ZK=true输入:set nu注释45 46 行4、输入vi h

2020-09-15 15:43:03 487

scala安装及配置idea插件

scala安装及配置idea插件

2020-10-19

空空如也

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

TA关注的人

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