自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 UDF函数判断一个日期是否为合法正确的日期并返回其季初值

import org.apache.hadoop.hive.ql.exec.UDF;import java.text.ParseException;import java.text.SimpleDateFormat;/** * @Author:顾* * @Date:2019. * @Use:返回一个日期的季度初值 */public class InitialUpper extends UDF { public String evaluate(final String txt){

2020-06-18 10:57:17 670

原创 每天跑批的增量数据导入到增量表的方式

逻辑一INSERT OVERWRITE TABLE tablename_1(全量表)SELECT A.* FROM tablename_1 A LEFT JOIN tablename_2(增量表) B ON A.ID = B.ID WHERE B.ID IS NULLUNION ALLSELECT B.* FROM tablename_2 B逻辑二全量表增加一个分区字段(requestdt)INSERT OVERWRITE TABLE tablename_1(全量表

2020-06-10 15:58:29 831

原创 SQL语句要同时order by两个字段排序的规则

ORDER BY 后可加2个字段,用英文逗号隔开。当第一个条件相等时,才会用第二个条件去排序。例:A用升序, B降序,SQL该这样写ORDER BY A , B DESC也可以这样写,更清楚:ORDER BY A ASC , B DESC如果都用降序,必须用两个descORDER BY A DESC , B DESC...

2020-05-29 11:06:18 1799

原创 HDFS如何处理大量的小文件

过多小文件导致的问题?1、在HDFS中,任何一个文件,目录或者block在NameNode节点的内存中均以一个对象表示(元数据),而这受到NameNode物理内存容量的限制。每个元数据对象约占150byte,所以如果有1千万个小文件,每个文件占用一个block,则NameNode大约需要15G空间。如果存储1亿个文件,则NameNode需要150G空间,这毫无疑问1亿个小文件是不可取的。2、处理小文件并非Hadoop的设计目标,HDFS的设计目标是流式访问大数据集(TB级别)。因而,在HDFS中存储大量

2020-05-28 09:08:19 1828

原创 关于技术选型

文章目录技术选型主要考虑因素:数据采集传输:数据存储:数据计算:数据查询:任务调度:数据可视化:元数据监控:集群监控:技术选型主要考虑因素:数据量大小、业务需求、行业内经验、技术成熟度、开发维护成本、总成本预算数据采集传输:Flume、Kafka、Sqoop、Logstash、DataXELK【ElasticSearch、Logstash 和 Kibana】:处理数据量大于Mysql,但是处理不了 BP、TP级的大数据。DataX :阿里巴巴集团内被广泛使用的离线数据同步工具/平台,其核心组件

2020-05-11 00:19:00 262

原创 Spark 知识点

文章目录spark是什么?有什么?RDD:弹性分布式数据集spark运行原理:spark任务划分:spark宽依赖和窄依赖:spark转换算子和行动算子:reduceByKey(func)和groupByKey()的区别:spark数据倾斜:出现数据倾斜的原因:工作时我的应对:解决方案:spark优化:spark shuffle调优updateStateByKey: 有状态的转化操作spark几种部署模式spark-submit 提交作业参数和过程作业参数过程:spark wordcount:sparkst

2020-05-09 11:06:40 284

原创 Hbase 知识点总结

文章目录HBase是什么?HBase的组成1)Client2)Zookeeper3)Hmaster4)HregionServer5)HDFS1.Write-Ahead logs2.Region3.Store4.MemStore5.HFileHbase写数据流程Hbase读数据流程hbase 热点问题 rowkey的设计hbase预分区hbase get和scan的区别:hbase单列簇和多列簇1、列簇的数量对flush的影响2、列簇的数量对compaction的影响3、列簇的数量对split的影响HBas

2020-05-09 10:49:39 300

原创 Hive 知识点总结

文章目录hive是什么?hive的架构原理星型模型 雪花模型 应用场景hive 解析 json格式的数据列转行 侧视图hive和数据库的区别hive数据的存储数据仓库的四层结构数据质量的校验: 错误值、重复值、数据不一致、缺失值hive自定义函数数据倾斜的优化原因:参数调节sql语句的调优hive性能优化一、存储优化,选用ORC二、表设计优化三、sql参数优化四、sql优化五、开启本地模式几个排序的区别窗口函数时间函数:数据缺失值处理办法;hash joinhive是什么?Hive是基于 Hadoop

2020-05-09 10:41:50 719

原创 kafka消费者常用的配置参数及其含义

fetch.min.bytes消费者从服务器获取记录的最小字节数,broker收到消费者拉取数据的请求的时候,如果可用数据量小于设置的值,那么broker将会等待有足够可用的数据的时候才返回给消费者,这样可以降低消费者和broker的工作负载,因为当主题不是很活跃的情况下,就不需要来来回回的处理消息,如果没有很多可用数据,但消费者的CPU 使用率却很高,那么就需要把该属性的值设得比默认值大。如果...

2020-04-20 16:40:51 1495

原创 redis的持久化方式RDB和AOF的区别

由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据。redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一种是AOF持久化(原理是将Reids的操作日志以追加的方式写入文件)。那么这...

2020-04-20 09:04:08 450 1

原创 Hive数据倾斜的原因及其解决方案(hive SQL调优)有实例加深理解

1、数据倾斜的原因1.1 操作:1.2 原因:1)、key分布不均匀2)、业务数据本身的特性3)、建表时考虑不周4)、某些SQL语句本身就有数据倾斜1.3 表现:任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成。因为其处理的数据量和其他reduce差异过大。单一reduce的记录数与平均记录数差异过大,通常可能达到3...

2020-04-14 10:07:34 1886 1

原创 多线程start()方法与run()方法的区别

多线程start()方法与run()方法的区别只有调用了start()方法,才会表现出多线程的特性,不同线程的run()方法里面的代码交替执行。如果只是调用run()方法,那么代码还是同步执行的,必须等待一个线程的run()方法里面的代码全部执行完毕之后,另外一个线程才可以执行其run()方法里面的代码。...

2020-04-13 20:49:54 142 1

原创 多线程的优点/作用

多线程的作用1、发挥多核CPU的优势如果是单线程的程序,那么在双核CPU上就浪费了50%,在4核CPU上就浪费了75%。多核CPU上的多线程它能让你的多段逻辑同时工作,多线程,可以真正发挥出多核CPU的优势来,达到充分利用CPU的目的。2、防止阻塞单核CPU不但不会发挥多线程的优势,反而再单核CPU上运行多线程会导致线程上下切换,而降低程序整体的效率。通常一个任务不光cpu上要花时间,io...

2020-04-13 20:47:13 6630

原创 创建多线程三种方式的详解

创建多线程的方式1、继承Thread类(1)继承Thread类 重写run方法 并通过start方法启动线程。(2)看jdk的源码可以发现,Thread类其实就是实现了Runnable接口的一个实例,Thread的start()方法调用了run()方法再通过调用Runnable实列的run()方法启动线程。(3)Thread线程有5种状态,创建–就绪–运行–阻塞–死亡 这五种。start(...

2020-04-13 20:37:57 178

原创 java 读取mysql中的表

java 读取mysql中的表导入 mysql-connector-java 5.1.38 的依赖包public class MyJavaSQL { public static void main(String[] args) throws Exception{ Class.forName("com.mysql.jdbc.Driver"); Connecti...

2020-04-13 20:33:38 221

原创 在java中读取hbase中的表并增加数据或按条件查询数据

java 读取hbase中的表 并增加数据或过滤查看数据Maven中导入hbase-client 1.2.0、hbase-server 、 hbase-commonpublic class ConnTest{ Configuration conf = HBaseConfigration.create(); conf.set("hbase.zookeeper.quorum","192.16...

2020-04-13 20:30:39 958

原创 java 读取hive中的表

java 读取hive中的文件在IDEA中public class Myhive { public static void main(String[] args) throws Exception{ Class.forName("org.apache.hive.jdbc.HiveDriver"); Connection connection = Driv...

2020-04-13 20:24:10 2167

原创 spark 、 spark SQL 读取HDFS中的文件 处理数据

spark 、 spark SQL 读取HDFS中的文件 处理数据在IDEA中:导入 spark-core_2.11的依赖包 版本和安装spark的版本相同Object ConnTest{ def main(args: Array[String]): Unit = { val conf = SparkConf().setMaster("local[2]").setAppName("ap...

2020-04-13 20:20:41 3713

原创 hive映射hbase中的表

hive映射hbase中的表create external table users(key string,user_id string,locale string,birthday string,gender string,joinedAt string,location string,timezone string --这里可以自定义可以不和hbase上的修饰符一样)s...

2020-03-30 21:15:20 232

原创 hive(数据仓库)常用命令

hive的常见操作命令-- 开启hivehive -- 查看当前数据库select current_database();-- 强制删除数据库(hdfs上的也删了)drop database demo cascade;-- 创建数据库drop database if exists mydemo;create database mydemo;-- 选择数据库use mydemo...

2020-03-30 21:09:15 536

原创 idea打胖包 到虚拟机里运行jar包的详细过程

一、先写好自己的工程#### 二、打包1、点击后上角2、3、Main Class 选择自己刚刚所写的类JAR files from libraries:第一个是打包成jar包,第二个是打包成jar包 外带项目所用的所有jar包4、点击ok5、工程的最上面会出现一个out的红色文件夹 就是打的胖包了三、使用xshell自带的xftp复制jar包到虚拟机指定目录四、运行jar包...

2020-02-25 21:45:06 2111

原创 Java远程连接Hbase(虚拟机中的hbase)并处理表数据,亲测有效

java远程连接Hbase处理数据1、在你的window系统下 找到c:/window/system32/drivers/etc/hosts 在末尾添加 虚拟机IP 虚拟机的hostname(如 192.168.56.100 gg)2、在java代码中添加:Configuration config = HBaseConfiguration.create();config.set(“hbas...

2020-02-13 10:33:20 1396 1

原创 在IDEA中运行SparkSQL读取hdfs文件报java.io.IOException: (null) entry in command string: null ls -F F:\tmp\hive

在IDEA中运行Spark SQL读取hdfs文件时报java.io.IOException: (null) entry in command string: null ls -F F:\tmp\hive的错,或者是报 Exception in thread "main" org.apache.spark.sql.AnalysisException: java.lang.RuntimeExcep...

2020-01-07 18:36:47 2952

原创 Hbase和zookeeper的详细安装配置 亲测完美

zookeeper安装步骤注意:前置条件安装完Hadoop集群安装Hadoop集群详细步骤1.到官网中下载zookeeper稳定版本的安装包(建议3.4.6)2.利用xshell中的xftp上传安装包到/opt目录下3.解压tar -zxvf zookeeper-3.4.5-cdh5.14.2.tar.gz这里我习惯把解压好的文件都集中放到soft目录下mv zookeeper-...

2019-12-23 09:21:21 5008

原创 完美解决Hadoop 每次打开虚拟机重启hadoop都要重新格式化才能启动Namenode或DataNode节点的问题

我的情况是:起初安装配置好hadoop后(安装搭建hadoop集群详细步骤),使用jps命令都可以查看到NameNode,SecondaryNameNode,jps,ResourceManager,NodeManager,DataNode节点,但是每天打开电脑重新启动虚拟机,启动集群后,要么namenode节点没了,要么就是datanode节点没了。删除安装包下的logs和tmp,再重新启动ha...

2019-12-12 10:15:57 4311

原创 安装配置hadoop,搭建hadoop集群,搭建伪分布式详细步骤

hadoop搭建集群1.生成密钥对(NameNode和DataNode都需要)[root@sql ~]#ssh-keygen -t rsa -P ' '2.查看密钥对[root@gg1 ~]# cd .ssh/[root@gg1 .ssh]# lsid_rsa id_rsa.pub3.删除DataNode的密钥对,NameNode的不可以删!!![root@gg1 .ssh]...

2019-12-12 10:13:36 685

原创 Hive的安装配置及原理 完美解决解压hive缺少hive-site.xml文件,和安全模式无法启动hive等问题

Hive原理Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。Hvie是建立在Hadoop上的数据仓库基础架构。它提供了一系列的工...

2019-12-11 18:16:51 15192 1

原创 在虚拟机Linux环境下安装配置JDK,步骤详细,亲测完美~

如果照着下面的步骤一步一步的来安装配置你还出错的,那我救不了你了~我被你打败了(┬_┬)一、下载安装JDK1、 到https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html官网下载jdk-8u231-linux-x64.tar.gz安装包。2、在xshell中使用xftp传到虚拟机...

2019-12-04 16:04:29 11759 2

原创 Elasticsearch配合postman软件的增删改查代码大全

1.索引操作(1)创建索引(和type)PUT http://yourIp:9200/索引名body里写:{ "setting":{ "index":{ "number_of_shards":2, -->分片数 "number_of_replicas":1 -->副本 } }, "mappings":{ "userinfos":{ --...

2019-12-04 10:11:45 936

原创 Elasticsearch分布式安装详细步骤,亲测完美,小白看了也会装

安装elasticsearch1、 首先安装elasticsearch之前一定要先安装jdk, jdk 配置、jdk的运行环境。这一步可以在我之前的博客中找到详细步骤,这里我就不多说了。2、 考虑需要安装elasticsearch-head作为web展示 所以首先安装nodejs 主要是利用npm1.(在根目录下的opt目录里) wget https://npm.taobao.org/m...

2019-12-02 22:36:43 659

原创 基本数据类型和引用数据类型的区别 (面试总结)

基本数据类型:整形:int short byte long浮点型: double float字符型: char (0:48 a:97 A:65)布尔型 boolean引用数据类型:string array Random Scanner区别:存储不同,基本数据类型存储在栈中,值来源于常量池。引用数据类型存储在堆栈中,值来源于常量池,对象,方法区。栈中基本数据类型存的是值,...

2019-11-28 08:57:00 265

原创 完美解决在docker容器中启动tomcat始终报端口被占用的错误

在虚拟机docker容器中启动tomcat报Error response from daemon: driver failed programming external connectivity on endpoint tomcat (56eca236c90a43fb3a69de67ea3e86d8eab2193db2590d905d18c0acec996557): Error starting ...

2019-11-26 13:10:39 3245

原创 在VM VirtualBox中centos7 安装mysql 配置字符编码集 亲测完美

修改mysql字符集1.下载完mysql后:mysql -uroot -p** 进入到mysql容器中2.use mysql3.GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘自己的密码’;4.flush privileges; 这一步在grant表中重新加载权限数据一定要做,不然无法成功.5.先查看当前mysql的字符集...

2019-11-25 21:53:03 726

原创 Linux系统权限操作命令

Linux权限操作命令切换到指定用户 -->su[用户名]查看当前用户所属分组 --> groups查看当前用户UID和GID -->id添加用户 --> useradd[用户名]添加用户并指定UID --> useradd -u[UID] 用户名修改用户密码 --> passwd [用户名]删除用户 --> 删除用户 userdel...

2019-11-20 22:54:18 645 1

原创 解决在虚拟机中利用docker容器下载mysql或tomcat等软件时下载崩溃问题

解决使用docker容器下载mysql等崩溃问题利用docker下载mysql,tomcat,Redis等等时暂停或卡死,都是因为你阿里云镜像没有配置或者配置错误。在Xshell中安装完docker输入下面的命令:cd空格/etc/ 回车ls 回车(如果列表中有docker就直接下一步配置阿里云镜像如果没有就先到阿里云镜像中复制mkdir -p /etc/docker 运行再配置...

2019-11-20 11:17:54 761

转载 vi编辑器常用快捷键

vi编辑器常用快捷键x 删除光标处的字符dd 删除整行i 在光标前插入文本a 在光标后插入文本o 当前行下插入新行u 撤销最后一次修改:e! 放弃所有修改,从上次保存开始处再编辑:wq 保存退出:q! 不保存退出/pattern:从光标开始处向文件尾搜索pattern?pattern:从光标开始处向文件首搜索pattern光标控制命令命令 光标移动h或^h ...

2019-11-19 12:28:33 299

原创 Oracle VM VirtualBox常用命令

Oracle VM VirtualBox常用命令首先打开虚拟机VirtualBox 运行自己建的虚拟机 等待connection输入自己的账号 root 密码 xxx查看机器名字–>hostname查看当前路径–>pwd目录跳转、显示当前目录cd 路径 --> 目录跳转 + ls -->显示当前目录中的内容(可见的 + -a 就可以看到全部的...

2019-11-19 10:43:41 4611

原创 Maven的安装与配置详细步骤

Maven的安装与配置1.先到Apache官网下载安装包 3.5版本以上2.解压安装包–>在maven解压包里建一个用来下载jar包的空文件夹(取名最好是纯英文的)–>找到conf文件夹–>找到settings.xml3.使用Notepad++ 等工具打开settings.xml文件,在54行左右 复制(第53行的)localRepository标签,在注释之外(第55行...

2019-11-14 21:37:09 461

原创 Spring MVC 框架搭建步骤

Spring MVC 框架搭建步骤1、下载jar文件并导入到工程除了这22个jar包外 还有一个Tomcat 的jar包.2、配置文件2.1 在web.xml中配置Servlet<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" ...

2019-11-11 21:42:23 241

空空如也

空空如也

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

TA关注的人

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