自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张俊杰 的博客

一个大龄的码农.目前是Java+Python开发,业余时间研究减肥健身养生,后期可能会去做减肥健身博主.

  • 博客(44)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

原创 hive本地模式执行hive,减少sql处理结果用的时间

大多数的Hadoop Job是需要Hadoop提供的完整的可扩展性来处理大数据集的,就是在yarn上运行。不过,有时Hive的输入数据量是非常小的。在这种情况下,为查询触发执行任务消耗的时间可能会比实际job的执行时间要多的多。对于大多数这种情况,Hive可以通过本地模式在单台机器上处理所有的任务。对于小数据集,执行时间可以明显被缩短。用户可以通过设置hive.exec.mode.local.auto的值为true,来让Hive在适当的时候自动启动这个优化。主要注意的是本地MapReduce模式只有在R

2020-09-30 19:08:56 786

原创 hive行转列的函数与demo *

函数介绍CONCAT(string A/col, string B/col…)返回输入字符串连接后的结果,支持任意个输入字符串;CONCAT_WS(separator, str1, str2,…)它是一个特殊形式的 CONCAT()。第一个参数是指定拼接的分隔符。分隔符可以是与剩余参数一样的字符串。如果分隔符是 NULL,返回值也将为 NULL。这个函数会跳过分隔符参数后的任何 NULL 和空字符串。分隔符将被加到被连接的字符串之间;COLLECT_SET(col)函数只接受基本数据类型,它的主

2020-09-30 18:54:41 191

原创 hive四种排序Order By , Sort By ,Distribute By ,Cluster By

前文Hive的本质是MapReduce,MapReduce中如何排序的??MapReduce分为几种:1.全排序order By: 结果只有一个(也就是只有一个分区),所有的数据整体有序.2.部分排 序sort By: 结果有多个(相当于有多个分区),每个分区内部有序的.3.二次排序: 在排序时,比较的条件有多个,比如说按总流量排序,总流量相等就按上行流量排序.注意:排序是在reduce之前就已经排好序了,排序是shuffle阶段的主要工作.然后让Reduce方便接下来的处理准备数据

2020-09-28 20:29:37 3612

原创 如果一个文件的大小超过了一张磁盘的大小,你该如何存储?

转载转自 极客时间 从零开始学大数据 李智慧 文章, 我学完了做了个笔记总结了一下如果一个文件的大小超过了一张磁盘的大小,你该如何存储?单机时代,主要的解决方案是RAID;分布式时代,主要解决方案是分布式文件系统无论是在单机时代还是分布式时代,大规模数据存储都需要解决几个核心问题1.数据存储容量的问题。既然大数据要解决的是数以PB计的数据计算问题,而一般的服务器磁盘容量通常1~2TB,那么如何存储这么大规模的数据呢?2.数据读写速度的问题。一般磁盘的连续读写速度为几十MB,以这样的速度,几十PB

2020-09-28 12:44:45 1489 1

原创 Feign日期格式出现精度问题 *

问题原因生产者传的日期navDate为 2020年4月30日 , 然后消费者接收为2020年4月29日解决办法1 LocalDate用LocalDate传输navDate 是下面的格式{ "code": "0000", "message": "查询机构公募资产信息成功", "data": { "totalAssets": "3,934.73", "totalProfit": "117.90", "totalIncome": "

2020-09-28 10:02:37 476

原创 hive 抽样查询(有时间再研究研究) *

简介对于非常大的数据集,有时用户需要使用的是一个具有代表性的查询结果而不是全部结果。Hive可以通过对表进行抽样来满足这个需求。 就是随机查询抽样查询是查询语句,只不过写的时候有指定的格式. 就是按照规则查询指定的桶的数据语法和要求①抽样查询的表必须是分桶表!②bucket x out of y on 分桶表分桶字段假设当前表一共分了z个桶x: 从当前表的第几桶开始抽样0<x<=y x不能小于y,可以等于y ,如果等于y就是查询所有了.y: z/y 代表一共抽

2020-09-26 17:43:50 561

原创 hive 分区表和分桶表区别 *

分区针对的是数据的存储路径;分桶针对的是数据文件。分区提供一个隔离数据和优化查询的便利方式。不过,并非所有的数据集都可形成合理的分区,特别是之前所提到过的要确定合适的划分大小这个疑虑。分桶是将数据集分解成更容易管理的若干部分的另一个技术。...

2020-09-26 17:16:46 1014

原创 hive分桶表排序

参考我是照着这个学习, 并且自己又总结了一下,原作者:添加链接描述准备数据/root/soft/buckt_data.txt1,name14,name43,name36,name65,name57,name79,name98,name82,name2创建普通的表create table test( id int comment 'ID', name string comment '名字') comment '测试分桶中间表' ROW

2020-09-26 13:18:09 3500

原创 hive分桶表的意义和作用 *

[CLUSTERED BY (col_name, col_name, …)分桶的字段,是从表的普通字段中来取[SORTED BY (col_name [ASC|DESC], …)] INTO num_buckets BUCKETS]分铜表意义建表时指定了CLUSTERED BY,这个表称为分桶表!分桶: 和MapReduce中分区是一个概念! 是把数据分散到多个文件中!分桶的作用分桶本质上也是为了分散数据!在分桶后,可以结合hive提供的抽样查询,只查询指定桶的数据在分桶时,也可以指定将每

2020-09-25 19:03:20 2509

原创 hive的分桶表的基本使用

参考我是照着这个学习, 并且自己又总结了一下,原作者:添加链接描述准备数据准备 buckt_data.txt 在 /root/soft 目录下面1,name12,name23,name34,name45,name56,name67,name78,name89,name9开启分桶的配置默认是不会帮你分桶的需要打开强制分桶开关:sqlset hive.enforce.bucketing=true;需要打开强制排序开关:set hive.enforce.sortin

2020-09-25 19:01:33 586 1

原创 hive动态分区

什么动态分区,动态分区好处 往hive分区表中插入数据时,如果需要创建的分区很多,比如以表中某个字段进行分区存储,则需要复制粘贴修改很多sql去执行,效率低。因为hive是批处理系统,所以hive提供了一个动态分区功能,其可以基于查询参数的位置去推断分区的名称,从而建立分区。静态分区与动态分区的主要区别在于静态分区是手动指定,而动态分区是通过数据来进行判断。详细来说,静态分区的列实在编译时期,通过用户传递来决定的;动态分区只有在SQL执行时才能决定。准备工作准备数据order_created.

2020-09-24 14:22:04 11564 1

原创 hive多级分区表的使用

简介一个分区字段就是一级目录,如果是两个分区,就是两个分区目录,比如说 area province,那么目录就是 /area/province/xxxxxx ,数据都在xxxxxx这里.创建表二级分区使用方式就是在一级分区基础上 PARTITIONED BY后面多写个字段即可create table order_multi_partition( order_no string, order_time string) PARTITIONED BY (event_ti

2020-09-23 19:49:25 4673

原创 hive读取直接放到hdfs的数据,将目录加载到分区表中 *

参考:本人在参考他的文章,并且实践了一下,顺便优化了一下,详细记录了一下原作者地址使用场景在生产上,一般对数据清洗之后直接放到HDFS上,然后再将目录加载到分区表中;准备数据order_created.txt用 tab分割10703007267488 2014-05-01 06:01:12.334+0110101043505096 2014-05-01 07:28:12.342+0110103043509747 2014-05-01 07:50:12.33+01101030435015

2020-09-23 19:09:14 4024

原创 hive分区表一级分区的基本使用 *

参考尊重原创:这个文档是参考别人的,然后自己又总结了一下…原创地址一级分区准备数据order_created.txt10703007267488 2014-05-01 06:01:12.334+0110101043505096 2014-05-01 07:28:12.342+0110103043509747 2014-05-01 07:50:12.33+0110103043501575 2014-05-01 09:27:12.33+0110104043514061 2014-05-01

2020-09-23 18:43:58 468

原创 hive查看表的描述

查看表的描述sql:desc formatted order_partition;里面就会有表的信息和分区信息,所以真正的表字段是不包含分区字段的,分区字段是指HDFS上的一个目录的名称

2020-09-23 18:42:07 2025

原创 hive创建分区表报错AccessControlException Permission denied: user=NONE, access=WRITE, inode

错误提示信息[2020-09-23 18:07:58] )sql> create table order_partition ( order_no string, order_time string ) PARTITIONED BY (event_time string) row format delimited fields terminated by '\t'[2020-09-23 18:10:3

2020-09-23 18:23:33 1263

原创 hive 分区表的概念和意义*

分区表实际上就是对应一个HDFS文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。Hive中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过WHERE子句中的表达式选择查询所需要的指定的分区,这样的查询效率会提高很多。分区的意义是为了将数据分散到多个子目录中,在执行查询时,可以只选择查询某些子目录中的数据来加快查询效率.只有分区表才有子目录(分区目录)分区目录的名称由两部分确定: 分区列的列名=分区列的列值.将输入导入到指定的分区之后,数据会附加上分区列的信息

2020-09-23 17:52:43 3640

原创 hive加载配置文件的参数读取顺序 *

1.先读取 hadoop中的8个配置文件,2.再读取hive-default.xml 默认配置文件3.再读取用户自定义的配置文件hive-site.xml4.如果你启动hive 的时候,你加了一些参数啥的比如说 hive --hiveconf 属性名=属性值, 就会读取后面自己定义的变量...

2020-09-21 21:32:08 658

原创 hive1.2.1 用Datagrip连接

参考:尊重原创.这是原创作者,我在学习的时候,我看这个博客使用,照着操作成功了…就此记录一篇博客,留着自己以后查阅:https://blog.csdn.net/qq_27731689/article/details/101513115下载jar包项目中导入依赖,此时Maven仓库里面就会有这些东西,注意hive-jdbc版本要对应上,否则连不上报错.<dependency> <groupId>org.apache.hive</groupId> <ar

2020-09-21 19:59:27 1238 8

原创 hive后台运行另外使用beeline进行连接 *

命令nohup hive --service hiveserver2 &hive默认账号密码如果没进行特殊设置的话, hive默认账号密码是 NONE使用beeline进行连接打开另外一个crt终端[root@zjj101 ~]# beelineBeeline version 1.2.1 by Apache Hivebeeline> !connect jdbc:hive2://ip:10000/defaultConnecting to jdbc:hive2://ip

2020-09-21 19:26:56 699

原创 hive 用beeline远程连接Permission denied: user=NONE, access=EXECUTE, inode=“/tmp/hive“:root:root:drwx-----

[root@zjj101 ~]# beelineBeeline version 1.2.1 by Apache Hivebeeline> !connect jdbc:hive2://172.16.10.101:10000/defaultConnecting to jdbc:hive2://172.16.10.101:10000/defaultEnter username for jdbc:hive2://172.16.10.101:10000/default: NONEEnter pas..

2020-09-21 19:25:03 561

原创 Docker创建image部署SpringBoot项目demo

首先准备一个SpringBoot项目能打成jar包的项目在本地打成jar包也能启动能访问创建目录创建docker目录,然后的docker创建一个tmp空目录[root@zjj101 tmp]# pwd/root/soft/docker/tmp[root@zjj101 tmp]# 编写DockerFile文件# Docker image for springboot file run# VERSION 0.0.1# Author: zjj# 基础镜像使用javaFROM

2020-09-18 18:48:47 1054 1

原创 hive 将本地文件导入到hive案例*

准备数据在 /root/soft 目录下面准备student.txt ,注意以tab键间隔。[root@zjj101 soft]# vim student.txt1001 zhangsan1002 lisi1003 zhaoliu

2020-09-16 22:15:56 936

原创 Docker修改容器名字

结论:docker rename 容器id 新的容器名字例子:docker rename b78a4dd6514d mysql8.0[root@zjj101 ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESb78a4

2020-09-16 20:33:12 1870

原创 Mybatis mapper又传递数组又传递单个值 *

随便从项目里面摘出来一个代码片段记录一下mapper 接口/** * @param: queryStatus 查询状态 0 是查询生日 1 是成交纪念日 2是查询其它类型定时任务 * @Author: 张俊杰 2020年09月09日 11:08 */ List<CustInfoDTO> selectCustListByCustomerGroupCode( @Param("customerGroupCodeArray") String[] customerGroupC

2020-09-16 09:59:10 763

原创 hive配置运行日志到自己需要的指定目录下面 *

Hive的log默认存放在/tmp/atguigu/hive.log目录下(当前用户名下)修改hive的log日志到指定的位置上,我打算放到 /root/soft/hive-1.2.1/hive_logs 目录下, 你们随意,去/root/soft/hive-1.2.1/conf 目录下面修改hive-log4j.properties 文件修改 hive.log.dir属性配置信息hive.log.dir=/root/soft/hive-1.2.1/hive_logshive.log.file

2020-09-13 17:18:09 877

原创 Docker查看container的详细信息啥的*

比如说我想查看我运行docker的container的时候我想查看我挂载的宿主机文件夹的位置,我可以这么看执行docker ps -a 获取到containerId,然后 docker inspect containerId 去查看这container的详细信息,Mounts 属性就是挂载信息了.root@zjj101 mysql-5.7.30-el7-x86_64]# docker ps -aCONTAINER ID IMAGE COMMAND

2020-09-13 16:27:36 7035

原创 hive和关系型数据库对比 *

语法问题关系型数据库用的是sql, hive用的是类sql,两个语法相似,但是还是有点区别的数据存储位置hive数据是存到hdfs上面的, 关系型数据库是存到本地磁盘或者别的块设备上.数据更新方便关系型数据库增删改查都能写,hive只能写查询和新增,因为hive数据存放到hdfs上面,hdfs是不支持随机写的索引方面关系型数据库是有索引的,hive也有索引,但是实现方式是不一样的. hive索引作用时是在进行输入的时候会把指定的目录过滤出来,给其它目录过滤掉.MySQL索引是方便快速将数据从

2020-09-13 16:20:36 963

原创 hive简介以及优缺点

简介Hive:由Facebook开源用于解决海量结构化日志的数据统计。Hive是管理,读和写数据的工具.说简单了就是用SQL分析数据.Hive只能处理结构化数据,处理hadoop里面的数据,你在HDFS上传的数据有很多,比如说软件,视频啥的.只要是文件都能上传到HDFS上面去.但是Hive只能分析结构化的数据,Hive是坐落在hadoop之上的(使用hive前提是必须要安装了hadoop),用来分析大数据的,可以让你的查询和分析更简单.1.hive处理的数据都在hdfa中,但是hive还会存储一个

2020-09-13 15:14:12 12919

原创 hive的数据类型 *

基本数据类型对于Hive的String类型相当于数据库的varchar类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储2GB的字符数。集合数据类型Hive有三种复杂数据类型ARRAY、MAP 和 STRUCT。ARRAY和MAP与Java中的Array和Map类似,而STRUCT与C语言中的Struct类似,它封装了一个命名字段集合,复杂数据类型允许任意层次的嵌套。...

2020-09-13 15:06:11 253

原创 hive的类型转换

首先hive是Java写的,在Java里面,低精度类型的数据类型和高精度类型的数据类型,做运算的话,这时候低精度数据类型会自动进行隐式转换(低精度数据类型变成高精度的数据类型).Hive的原子数据类型是可以进行隐式转换的,类似于Java的类型转换,例如某表达式使用INT类型,TINYINT会自动转换为INT类型,但是Hive不会进行反向转化,例如,某表达式使用TINYINT类型,INT不会自动转换为TINYINT类型,它会返回错误,除非使用CAST操作。隐式类型转换规则如下(1)任何整数类型都可以隐式

2020-09-13 15:02:22 1355

原创 在hive上面执行hdfs 或者Linux命令 *

你在hive上面要想查看 hdfs 的东西, 原本你需要再打开一个crt终端,现在不用了.hive面板查看hdfs上面的东西直接 dfs 后面跟上命令就可以了,比如说下面的查看hdfs 根目录下的文件有哪些hive (default)> dfs -ls /;Found 11 items-rw-r--r-- 3 root supergroup 261987 2020-08-20 11:45 /0824ab18972bd40787bafea56c899e510fb3096c.jp

2020-09-13 14:51:57 1426

原创 hive 配置查询后台信息显示

问题情况是现在我切换数据库 还是显示hive ,感觉体验不好, 我可以添加一下配置实现查看hive的配置:修改 /root/soft/hive-1.2.1/conf 的hive-site.xml<property> <name>hive.cli.print.header</name> <value>true</value></property><property> <name>hive.

2020-09-13 14:27:08 315

原创 修改hive的数据仓库位置

Default数据仓库的最原始位置是在hdfs上的:/user/hive/warehouse路径下,如果你不想用这个默认的路径是可以进行修改的修改方式在hive-site.xml文件里面去修改在conf文件夹下面去编辑[root@zjj101 conf]# pwd/root/soft/hive-1.2.1/conf<--! 配置hive的根目录,直接放到hdfs的hive目录下面 --><property> <name>hive.metasto

2020-09-13 14:16:44 2027 1

原创 jdbc方式连接hive*

进入下面目录cd /root/soft/hive-1.2.1/bin[root@zjj101 bin]# hiveserver2运行完了就卡在这里了, 因为hiveserver2是一个前台进程.jdbc客户端连接pom 依赖<dependencies> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core&l

2020-09-12 19:56:18 336

原创 hive基本操作建表啥的 *

(1)启动hive[atguigu@hadoop102 hive]$ bin/hive(2)查看数据库hive> show databases;(3)打开默认数据库hive> use default;(4)显示default数据库中的表hive> show tables;(5)创建一张表hive> create table student(id int, name string);(6)显示数据库中有几张表hive> show tables;(7)查看表

2020-09-12 19:46:26 165

原创 hive元数据存到MySQL中*

hive默认是存储到Derby中的,Derby是Java语言编写的微型,常用于内嵌在Java程序中的数据库.但是derby有个缺点,Derby同一个数据库的实例文件不支持多个客户端同时访问.如果你启动了两个终端软件执行hive的话,就会抛出异常出来.hive内置数据库有个缺点就是你建了一个表关闭再打开就会发现自己当时见的表找不到了.找不到的原因是元数据schema存到了Derby中, 你启动hive之后,hive没有找到上一个Derby的数据,因为derby默认是将你数据库文件存到你执行hive指令的所

2020-09-11 20:15:30 1177

原创 Linux安装单体Hive demo*

准备hive tar.gz包上传到指定目录下直接rz 命令上传,其它上传工具也行解压tar -zxvf apache-hive-1.2.1-bin.tar.gz 解压完毕配置环境变量改个名字[root@zjj101 soft]# mv apache-hive-1.2.1-bin hive-1.2.1[root@zjj101 soft]# lsapache-hive-1.2.1-bin.tar.gz hadoop-2.7.2 hadoop-2.7.2.tar.gz hello.

2020-09-11 12:41:52 176

原创 SpringBOot-AOP抽取全局日志输入--获取入参的key和value,出参,异常*

效果测试的方法入参有各种类型的自定义类注解import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/** * @类说明: feign调用日志AOP处理 * @Author: 张俊杰 2020年09月05日 14:06 */

2020-09-10 16:25:42 798

原创 Java中 notify和notifyAll*

notify()线程调用notify()或者notifyAll()后,线程不会释放它自己的锁,直到该synchronized包裹的方法执行完以后,它会释放锁,所以notify()和notifyAll()一般会放在同步代码块儿的最后一行notify()和notifyAll()需要包裹synchronized代码块儿里面的Java 中 notify 和 notifyAll 的区别唤醒当前对象上的等待线程;notify()是唤醒单个线程,而notifyAll()是唤醒所有的线程。当你调用 notify

2020-09-10 08:54:26 747

sqoop-1.4.6.bin__hadoop-2.0.4-alpha

sqoop-1.4.6.bin__hadoop-2.0.4-alpha 导入导出工具,, 可以去官网下载, 也可以用这个

2020-10-29

mysql-connector-java-5.1.27.jar

mysql-connector-java-5.1.27-bin.jar jar包, 可以用这个连接MySQL的,, 适合MySQL5 版本的,, 很不错......

2020-10-29

ssm整合通用mapper

ssm整合通用mapper,如题,,适合新手去看,如题Spring4 mybatis3 好早以前弄的了, 适合新手看看,

2019-02-11

简单的ajax异步Crud项目

是自己写的简单的异步CRDU 项目,我本人也是一个菜鸟,当时什么都不会,自己写异步写了半天,现在自己写出来了,供新手学习,里面有ajax异步页面, 以及传智封装的分页

2018-05-12

WPS Office.10.1.0.6875(无联网功能)

WPS Office.10.1.0.6875(无联网功能) 这是没有联网功能,单纯就是wps的文本,没有广告,没有登录功能, 绿色版的.压缩后只有80m 还有wps表格功能.我现在就在用,挺好用的比world2016要小巧

2018-03-31

json格式转换工具

可以把json格式的代码转换成,用起来挺不错的.

2018-02-15

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

TA关注的人

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