自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何将hbase里的数据导入hive

需求分析现在hbase中存有这样的一个表:简单来说,就是表名为‘user_friend3’,所在namespace为‘events_db’,有一个列族为‘uf’列族‘uf’中的数据有:现在要在hive中创建一个表来装下hbase中的表‘events_db:user_friend3’的数据。将hbase里的数据导入hive--优化--这是必要的准备工作set hive.exec.dynamic.partition=true;set hive.exec.dynamic.partition.

2020-09-09 18:49:02 1703

原创 学习大数据第一步:搭建一个单机版的hadoop

学会在一个虚拟机上安装一个单机版本的hadoop,用于大数据学习。前提一个装有jdk的centos7虚拟机安装(1)解压cd /opt/hadoop --hadoop安装目录配置这三个文件etc/hadoop/hadoop-env.shexport JAVA_HOME=/opt/jdk8 --jdk安装目录etc/hadoop/core-site.xml<property> <name>fs.defaultFS&

2020-09-02 14:59:37 296

原创 Redis安装(centos7)及简单操作(增删改查)

Redis安装1、下载安装包(Redis中文网可下)2、导入虚拟机然后用tar命令解压到指定文件夹然后cd 到刚刚解压的redis文件夹输入 make 命令执行最后出现:3、进入redis文件夹下的src目录这个文件夹下有许多文件我们需要执行 ./redis-server如果出现上图则说明安装成功!Redis简单操作(增删改查)...

2020-08-31 22:28:26 318

原创 Python库介绍NumPy、Pandas、Matplotlib(3)

数据可视化数据可视化的意义传递速度快人脑对视觉信息的处理要比书面信息块10倍数据显示的多维性更直观的展示信息大脑记忆能力的限制数据可视化常见图形柱状图散点图饼状图Matplotlib绘图库matplotlib介绍一个有效Python 2D绘图库高版本也可以绘制部分3D图支持多种数据结构list,ndarray,Series,DataFrame使用Matplotlib的注意事项默认不支持中文–plt.rcParams[‘font.sans-serif’]=[‘SimHei

2020-08-28 11:02:51 268

原创 Python库介绍NumPy、Pandas、Matplotlib(2)

了解Pandas统计分析库Pandas介绍以NumPy库为底层基础提供了大量能快速便捷地处理数据的函数和方法可快速处理千万级以上的数据可以和Matplotlib等绘图库协作,快速实现数据可视化Pandas数据结构Series–value–indexDataFrame–由多列Series组成Series数据结构创建Series对象使用列表创建Series–自动生成索引–设置索引使用字典创建Series–key被设置为索引Series保存数据的特点数值类型可以不一致Se

2020-08-28 10:07:43 165

原创 Python库介绍NumPy、Pandas、Matplotlib(1)

数据分析介绍目标发现新的特征对已有假设进行验证手段基于统计学原理借助数据分析软件或框架处理数据成果通常是图文结合的数据分析报告Python数据分析优势简单、易学,适合初学者作为入门语言拥有一个巨大而活跃的科学计算社区拥有强大的通用编程能力人工智能时代的通用语言Python数据分析常用库numpy、pandas、matplotlib、scipy常用开发工具Jupyter NotebookNumpy数据分析库支持高性能运算与矩阵运算高性能科学和数据分析库的基础包使用场

2020-08-28 09:54:39 288

原创 Python学习笔记(2)

自定义函数定义函数:def func_name(参数列表): 函数体 [return/yield 函数返回值]Python函数的特点函数参数类型多样允许嵌套函数无需声明函数返回值类型yield可以作为函数返回值的关键字函数能够被赋值给变量Python的函数参数:无参函数位置参数 --传入的参数与定义的参数一一对应关键字参数 --直接通过等号传递参数默认值参数 --定义函数时,设置参数的默认值**注意:**定义参数时,非默认置

2020-08-25 12:30:28 122

原创 Kafka Streams练习

练习需求现有这样一个csv文件:现在要通过Kafka Streams把它变成这样:也就是说,原来的数据有"event,yes,maybe,invited,no"这五列,而且这五列的数据都是长度相当的id形式的数据。而"event"这一列只有一个数据,而其他的列里都有用空格隔开的多个数据。需求是要把它变成event所对应的每一个列名中的每一个数据。这个可能说的不是很清楚举个例子来说比如第一行的数据是这样的:现在要把它变成:这个应该比较清楚了:代码编写import org.apac

2020-08-24 16:23:01 125

原创 python学习笔记(1)

python是一门多用途的胶水语言–人工智能、数据分析、大数据、爬虫、运维、网站开发python语言的部分特点:门槛极低需要和其他技能结合发挥作用的语言可以锦上添花,很难独当一面本人学习重点:Python语言Scrapy爬虫框架Python数据分析库PySpark呼应对比着其他语言来学对比Java和Scala思考每种语言的设计思想,体验Python语法有多随意配置环境变量:Python的工程结构模块(module)–一个Python文件就是一个模块.py source

2020-08-24 12:29:22 320

原创 Spark Streaming 的窗口计算

什么是窗口计算?Spark Streaming 提供了窗口计算,它允许在数据的滑动窗口上应用转换。下图演示了这个滑动窗口。如图所示,每当窗口在源 DStream 上滑动时,位于窗口内的源 RDDs 就会被合并并操作,以生成窗口化的 DStream 的 RDDs。在本例中,操作应用于数据的最后 3 个时间单位,幻灯片应用于 2 个时间单位。这表明任何窗口操作都需要指定两个参数。–窗口长度—窗口的持续时间(图中为 3)。–滑动间隔—窗口操作执行的间隔(图中为 2)。这两个参数必须是源 DStrea

2020-08-23 19:56:41 540

原创 Spark Streaming整合Kafka

编写Spark Streaming代码import org.apache.kafka.clients.consumer.{ConsumerConfig, ConsumerRecord}import org.apache.spark.SparkConfimport org.apache.spark.streaming.dstream.InputDStreamimport org.apache.spark.streaming.kafka010.{ConsumerStrategies, KafkaUtil

2020-08-23 19:09:48 105

原创 Spark Streaming整合Flume(push方式和poll方式)

push方式1、编写代码(以word count为例)首先要引入maven包 <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming-flume_2.11</artifactId> <version>2.2.0</version></dependency>然后编写业务逻

2020-08-22 16:19:25 186

原创 自定义flume拦截器,如何使用

用java编写自定义拦截器import org.apache.flume.Context;import org.apache.flume.Event;import org.apache.flume.interceptor.Interceptor;import java.util.ArrayList;import java.util.List;import java.util.Map;public class InterceptorDemo implements Interceptor {/

2020-08-20 17:02:40 174

原创 使用 Spark Streaming 处理有状态的数据,读取 TCP 6789 端口的数据,并进行词频统计。

对每个批次进行词频统计import org.apache.spark.SparkConfimport org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream}import org.apache.spark.streaming.{Seconds, StreamingContext}object SpStreamingDemo1 extends App {//todo 创建一个spark StrieamingContext对

2020-08-20 14:05:25 301

原创 flume连接到kafka配置文件编写

flume像要连接到kafka主要需要编写sinks的配置,其他的正常用spooldir的配置就行话不多说,直接上代码user_friends.sources = userFriendSourceuser_friends.channels = userFriendChanneluser_friends.sinks = userFriendSinkuser_friends.sources.userFriendSource.type = spooldiruser_friends.sources.u

2020-08-19 14:46:58 850

原创 kafka一些简单的常用命令

kafka常用命令启动kafka服务后台启动创建主题查看topic列表查看topic详情生产消息消费消息启动kafka服务bin/kafka-server-start.sh config/server.properties后台启动bin/kafka-server-start.sh -daemon config/server.properties创建主题kafka-topics.sh --create --zookeeper hadoopt:2181 --topic kb07demo --pa

2020-08-18 14:52:33 174

原创 使用flume将文件导入hdfs,如何写配置文件?

写配置文件现有一个.csv文件,需要导入hdfsuser_friends.sources = userFriendsSourceuser_friends.channels = userFriendsChanneluser_friends.sinks = userFriendsSinkuser_friends.sources.userFriendsSource.type = spooldir# 需要导入hdfs的文件目录位置user_friends.sources.userFriendsSou

2020-08-17 15:22:10 471

原创 使用spark DataFrame 算子解决mysql经典50题

首先还是回顾一下经典50题的数据数据展示student表score表teacher表course表之前我们都是用sql语句来处理,下面我们用spark DataFrame 里提供的算子来解决。这里我们的数据是从hive上获取的。话不多说,直接上代码:import org.apache.spark.sql.{DataFrame, Dataset, Row, SparkSession}object Classic50 extends App { //todo 创建一个Spark

2020-08-17 08:49:47 476 1

原创 安装flume,并简单使用

1、安装flume首先解压flume安装包到CentOS7虚拟机的指定目录(基本操作)tar -zxf flume-ng-1.6.0-cdh5.14.0.tar.gz -C /opt进入到/opt文件夹(刚刚安装flume的文件夹),改名mv apache-flume-1.6.0-cdh5.14.0-bin/ flume160514进入/flume160514/conf复制flume-env.sh.templatecp flume-env.sh.template flume-env.sh修改

2020-08-16 15:22:37 321

原创 通过样例类创建DataFrame,并用spark sql 操作

现有这样两份数据:1、该数据每日进行采集汇总。数据范围涵盖全国主要省份(港澳台、西藏、海南暂无数据)的 180+的大型农产品批发市场,380+的农产品品类(由于季节性和地域性等特点,每日的数据中不一定会涵盖全部的农产品品类)2、全国所有省级行政区和简称对上述的两份数据进行一些处理需求写在代码注释,话不多说,直接上代码:import org.apache.spark.rdd.RDDimport org.apache.spark.sql.{DataFrame, SparkSession}

2020-08-13 09:30:48 718

原创 scala IO流和正则表达式练习

练习需求:现有如下日志信息,请使用Scala正则表达式解析如下信息-日志级别-日期-请求URI分析需求:1、需要将文件中的日志信息使用scala I/O流导入2、使用正则表达式进行解析,然后输出成三个部分代码实现:import java.io.{BufferedReader, FileInputStream, InputStreamReader}import scala.collection.mutable.ArrayBufferimport scala.io.{BufferedSo

2020-08-03 09:18:29 240

原创 scala函数练习

用 to 和 reduceLeft 实现阶乘函数,不得使用循环或者递归。考虑n<1 的情况。使用 foldLeft 来避 免这个情况。def jc(n:Int)={ val ntmp=Array(n) if(ntmp.foldLeft(0)((x,y)=>{x+y})<=0){ 0 println("小于0错误") } else { (1 to n).reduceLeft(_ * _) } }编写函数

2020-07-29 23:21:03 237

原创 scala隐式类和隐式函数:jdbc连接并对数据库进行简单的增删改查

导包在maven中导入jdbc的jar包 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency>隐式类jdbc的连接还是跟java一样,重要的是scala的隐式类和隐式函数的

2020-07-28 23:00:11 184

原创 浅谈scala:隐式参数,隐式函数和隐式类

先写一个空的scala对象,以及其伴生类:class FunctionDemoobject FunctionDemo {}下面我们将开始了解什么是scala中的隐式参数,隐式函数和隐式类隐式参数class FunctionDemoobject FunctionDemo { //隐式参数 implicit var d=4 def fun(a:Int)(b:Int)(c:Int)(implicit d:Int):Int={ a+b+c+d }

2020-07-27 22:09:09 246

原创 浅谈scala:什么是函数柯里化?

什么是函数柯里化?最直接的说法:函数柯里化是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。这个解释看上去有些难懂,下面让我们来举一个例子:在java中我们可以定义这样一个简单的求和函数:public int fun(int a,int b){ return a+b; }即使是java初学者也会知道:如果要调用这个函数,必须输入a和b两个int型的参数,缺一不可。否则就会报错。但是在scal

2020-07-26 20:18:33 289

原创 scala小练习——随机输出20道100以内的算数题

自己用scala写的一个小练习。需求说明:1、随机输出20道100以内的加减乘除算数题,暂时不输出答案2、不可以出现03、可以选择是否输出答案代码展示://加法类class Jia(){//a和b是要进行运算的两个数字 var a:Int=0 var b:Int=0 var aw:Int=0//答案数字 do {//在满足条件的情况下随机生成a和b a = (math.random * 100).toInt b = (math.random * 100).t

2020-07-23 18:36:55 715

原创 想要scala入门,你必须要知道这些(2)

scala基础语法Scala条件控制if…else语句val x=10if(x>10){ print("x大于10")}else if(x==10){ print("x等于10")}else{print("x小于10")}条件语句返回值Scala任何表达式都有返回值val x=10val y=if(x==10) x+1 else x //单行表达式可以省略{}//y=11代码块“{…}”也是表达式,返回值为最后一个表达式结果val x=10val y={

2020-07-23 16:19:56 105

原创 Sqoop 环境完整搭建

安装 Sqoop 的前提是已经具备 Java 和 Hadoop、Hive、ZooKeeper、HBase 的环境。1.上传安装包 sqoop-1.4.6-cdh5.14.2.tar.gz 到虚拟机中2.解压 sqoop 安装包到指定目录,tar -zxf sqoop-1.4.6-cdh5.14.2.tar.gz -C /opt/install/3.创建软连接ln -s /opt/install/sqoop-1.4.6-cdh5.14.2/ /opt/install/sqoop4.配置环境变量v

2020-07-22 16:36:51 224

原创 hbase也能用sql语句操作?安装Phoenix——构建在HBase上的SQL层

Phoenix简介构建在HBase上的SQL层使用标准SQL在HBase中管理数据使用JDBC来创建表,插入数据、对HBase数据进行查询Phoenix JDBC Driver容易嵌入到支持JDBC的程序中Phoenix无法代替RDBMS缺乏完整性约束,很多领域尚不成熟Phoenix使HBase更易用Phoenix适合场景快速而容易地构建基于HBase的应用程序需要极大的规模、性能和并发性的SQL应用程序在转换到Hadoop时重用已有的SQL技能BI工具(对SQL支持较好)Phoe

2020-07-21 22:24:15 931

原创 单例模式编写HBase Java API

今天在编写HBase Java API时,发现用单例模式很方便,因为创建配置和连接,配置zookeeper的集群和端口都是较为固定的操作。import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.HColumnDescriptor;import org.apache.hadoop.hbase.HTableDes

2020-07-20 22:35:46 369

原创 想要scala入门,你必须要知道这些(1)

scala入门Scala概述Scala变量与常量变量常量Scala关键字列表Scala数据类型Scala数据类型层次结构字符串插值s插值器:允许将变量引用、表达式直接插入字面字符中f插值器raw插值器Scala概述面向对象特性每个值都是对象对象的数据类型和行为由类(Class)和特征(Trait,类似于interface)描述利用特征实现混入式多重继承函数式编程每个函数都是一个值支持高阶函数、柯里化(currying)、样例类(case class)及模式匹配……Scala是静态类型语言

2020-07-19 19:51:00 106

原创 关于hive窗口函数,你应该知道的

窗口函数 - 概述窗口函数是一组特殊函数扫描多个输入行来计算每个输出值,为每行数据生成一行结果可以通过窗口函数来实现复杂的计算和聚合语法Function (arg1,..., arg n) OVER ([PARTITION BY <...>] [ORDER BY <....>] [<window_clause>])PARTITION BY类似于GROUP BY,未指定则按整个结果集只有指定ORDER BY子句之后才能进行窗口定义可同时使用多个窗口函数过

2020-07-19 12:27:18 251

原创 hive经典练习50题

hive经典练习50题数据展示在hive中建表导入数据1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数2.查询"01"课程比"02"课程成绩低的学生的信息及课程分数3.查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩4。查询平均成绩小于60分的同学的学生编号和学生姓名和平均成绩 – (包括有成绩的和无成绩的)5.查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩6.查询"李"姓老师的数量7.查询学过"张三"老师授课的同学的信息8.查询没学过"张三"老师授课的同学的信息9

2020-07-18 23:40:12 4279 1

原创 hive常用语句总结——高级查询

装载数据:INSERT表插入数据INSERT OVERWRITE TABLE test select 'hello'; -- INSERT不支持的写法insert into employee select * from ctas_employee; -- 通过查询语句插入-- 多插入from ctas_employeeinsert overwrite table employee select *insert overwrite table employee_internal select *;

2020-07-15 23:31:18 526

原创 一些简单的hbase语法

//创建namespace(mydemo),相当于创建一个数据库create_namespace 'mydemo' //在namespace中创建一个表(userinfos),表中有一个列簇(base)create 'mydemo.userinfos','base' //查看所有表名list//在列簇中插入数据put 'mydemo.userinfos',1,'base:username','zhangsan'scan 'mydemo.userinfos' //查看表cou

2020-07-15 23:17:31 260

原创 hive函数小结1——常用标准函数和UDF自定义函数

hive函数分类:从输入输出角度:标准函数:一行数据中的一列或多列为输入,结果为单一值聚合函数:多行的零列到多列为输入,结果为单一值表生成函数:零个或多个输入,结果为多列或多行从实现方式分类:内置函数自定义函数:UDF:自定义 标准函数UDAF:自定义聚合函数UDAF:自定义表生成函数标准函数有字符函数:类型转换函数:数学函数:日期函数:集合函数:条件函数聚合函数count、sum、max、min、avg、var_samp等表生成函数自定义函数步骤:

2020-07-13 19:07:12 295

原创 hive常用语句总结——基础

数据库(database)操作create database if not exists myhivebook; use myhivebook;show databases;describe database default; alter database myhivebook set owner user dayongd;drop database if exists myhivebook cascade;表(table)操作-- 创建一个内部表create table if not

2020-07-12 21:51:58 348

原创 初学者也能看懂的——zeppelin安装教程

前提条件1、虚拟机上的hadoop,zookeeper,MySQL,hive都已经安装好了,能够正常使用。同时要保证hive能够用beeline连接。2、打开hadoop,zookeeper,MySQL,hive服务。开始安装下载安装包,我这里选择zeppelin-0.8.1-bin-all.tgz并把安装包上传到linux虚拟机:解压到指定目录并改名tar -zxf zeppelin-0.8.1-bin-all.tgz -C /opt/soft/cd /opt/soft/mv zepp

2020-07-12 18:46:55 774

原创 大数据学习一定要知道的——hadoop高可用集群搭建

前提准备首先,我们要在一台纯净的CentOS7版本的linux虚拟机安装jdk,hadoop和zookeeper,配置好环境变量,这里如果不会,请看我另外两篇博客:如何在linux虚拟机中安装hadoop,并搭建hadoop集群如何在基于linux系统的hadoop集群中,安装配置hbase,hive,zookeeper安装hadoop时请记得把 hadoop-native-64-2.6.0.tar 安装到hadoop安装路径的lib和lib/native目录下。当然,这里的jdk,hadoop和

2020-07-11 15:31:24 238

原创 hive:使用map join解决大小表关联造成的数据倾斜

什么是数据倾斜在大数据处理过程中,不怕数据大,就怕数据倾斜。数据倾斜就是在mapreduce过程中,一个或几个reduce端处理的数据量过大,明显远大于平均值,导致少数的reduce端的任务长时间无法完成,而其他reduce端又无事可做,明显的效率低下。数据倾斜的一些原因1、关联查询时,有一个较小的表的key比较集中key的分布不均就导致在分区时,某一个或几个分区的数量过多2、使用group by但没有用聚合函数,导致维度过小,某值的数量过多 那么我们需要在使用group by时注意一定要同

2020-07-09 19:52:21 3595

空空如也

空空如也

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

TA关注的人

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