自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

henrrywan的博客

人生有梦,各自精彩!

  • 博客(32)
  • 收藏
  • 关注

原创 HIVE踩坑——NULL和空字符串处理

这里我们针对在HIVE中遇到的NULL和空字符串问题进行简单探讨,避免踩坑!!!简单探索这里我们首先新建一张测试表test_01,用作后续测试。建表语句CREATE TABLE IF NOT EXISTS `test_01`( `id` INT, `name` STRING, `age` INT, `score` FLOAT)ROW FORMAT DELIMITED ...

2019-05-27 21:32:51 5680 3

原创 ElasticSearch基础——ElasticSearch6.x集群前后台启动和停止

前台启动ElasticSearch[es@master elasticsearch-6.6.0]$ bin/elasticsearch前台启动Kibana[root@bd17 kibana-6.6.0]# bin/kibana前台关闭ElasticSearch和Kibana,直接ctrl+c后台启动ElasticSearch[es@master elasticsearch-6.6....

2019-09-19 13:27:47 673

原创 ElasticSearch基础——ElasticSearch6.x集群模式部署安装

文章目录节点规划解压文件修改ElasticSearch配置文件修改Kibana配置文件启动并查看集群状态之前我们进行了ElasticSearch的单节点安装部署,具体可以参考ElasticSearch基础——ElasticSearch6.x单节点部署安装,这里我们在此基础之上进行集群模式部署安装。节点规划节点角色master(192.168.124.11)Elast...

2019-09-11 15:19:39 85

原创 ElasticSearch基础——ElasticSearch6.x单节点部署安装

文章目录JDK版本对应关系安装并启动启动es报错:can not run elasticsearch as root测试是否启动成功安装Kibana启动Kibana访问Web UI界面功能测试JDK版本对应关系ES的部署安装依赖JDK版本。ES官网下载地址:https://www.elastic.co/downloads/past-releases#elasticsearchES官网参考地...

2019-09-11 13:26:51 945

原创 ElasticSearch6.x部署——无法访问外网问题解决

文章目录无法访问外网问题解决可能引发的其它问题原因分析问题解决临时修改永久修改无法访问外网Linux环境下,当我们部署好ElasticSearch之后启动,使用curl 'http://localhost:9200/?pretty'可以得到响应,但是访问http://localhost:9200/报错。问题解决这里需要修改配置文件elasticsearch-6.6.0/config/ela...

2019-09-11 11:33:24 442

原创 Hive踩坑——Hive外部表挂载数据以及数据删除注意事项

文章目录思考:为什么不使用load data?数据准备挂载数据清空数据总结补充说明思考:为什么不使用load data?如果源数据存在于HDFS层,使用load data,相当于将源数据移动到了hive表的默认路径下(/user/hive/warehouse),与挂载不同。数据准备建表语句--不含分区的外部表CREATE external TABLE IF NOT EXISTS `t...

2019-08-28 11:26:18 3799

原创 Hive踩坑——在Hive和MySQL中使用like模糊查询表名的区别

区别在MySQL中,我们使用show tables like 'test%'来模糊匹配表名,此处like必须存在。在Hive中,我们使用show tables like 'test*'来模糊匹配表名,此处like可以省略。验证MySQLmysql> show tables like 'test%';+--------------------------------+| Tabl...

2019-08-27 10:20:27 2399

原创 Hive踩坑——使用count(*),count(1)和count(某字段)的区别

结论count(*)和count(1):对表中行数进行统计计算,包含null值。count(某字段):对表中该字段的行数进行统计,不包含null值。如果出现空字符串,同样会进行统计。数据准备我们插入测试数据,这里对null值和空字符串没有作统一处理,以默认为准。建表语句CREATE TABLE IF NOT EXISTS `test_01`( name STRING,addre...

2019-08-26 15:59:47 2732

原创 Hive踩坑——使用逗号分隔符注意事项

之前有遇到过在Hive中采用逗号分隔符,踩了不少坑,这里简单记录一下。建表语句CREATE TABLE IF NOT EXISTS `test_01`( name STRING,address STRING,gender STRING )ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE;思考这里我们使...

2019-08-26 15:05:26 1938 2

原创 HiveQL实现PV统计

HiveQL实现PV统计需求思路实现需求根据页面点击情况实现PV统计。这里我们规定:同一个访客连续点击同一个页面只算一次PV,不记作多次。具体要求见备注: vistTime guestName title 备注 2018-12-21 09:00:00 guest001 首页 记作一次PV...

2019-08-22 14:04:01 185 1

原创 Hadoop进阶——Hadoop源码编译

Hadoop进阶——Hadoop源码编译Hadoop进阶——Hadoop源码编译下载tar包解压并查看BUILDING.txt安装JDK安装Maven安装Findbugs 1.3.9安装ProtocolBuffer 2.5.0提前安装相关依赖安装cmake、zlib-devel、openssl、openssl-devel编译Hadoop源码查看编译成功之后的文件编译过程中出现的问题Hadoop进...

2019-08-12 21:46:15 191

原创 IDEA常用操作——隐藏IDEA的项目配置文件

默认情况下,IDEA新建项目会自动生成下面的配置文件,这里我们进行隐藏配置。打开Settings相关设置,末尾新增.idea;*.iml;进行配置,需要注意的是,我们这里新增的配置参数要用;分号隔开。配置完成再次查看,符合预期!...

2019-08-01 21:17:03 1693

原创 Java中的二进制码——原码、反码和补码

这里以int类型举例说明(int类型占32位,共4个字节)原码:第一位为符号位,0表示正数,1表示负数。例如 2的原码:00000000 00000000 00000000 00000010 -2的原码:10000000 00000000 00000000 00000010反码:正数的反码与原码相同,负数的反码在原码的基础上,符号位不变,其余的按位取反。例如 2的反码:000...

2019-06-30 15:44:00 1284

原创 Java中的位运算和位移运算

目录位运算符与(&)或(|)非(~)异或(^)位移运算符左移<<右移>>右移>>>这里主要针对Java中的位运算符和位移运算符,这里都以整数类型int为例(4个字节,32位二进制)位运算符与(&)与运算:对应位都为1才取1,否则取0 System.out.println(2&3);//2 //2的补码:0000000...

2019-06-30 15:39:22 140

原创 HIVE中常见文件存储格式比较

文件格式在HIVE中,常见的文件存储格式有TextFileParquetORCSequenceRCAVRO建表语句这里我们根据不同的文件格式,新建测试表。--textfile文件格式CREATE TABLE `test_textfile`(`id` STRING,…,`desc` STRING)ROW FORMAT DELIMITED FIELDS TERMINATED...

2019-05-31 16:42:21 3401

原创 HIVE常用命令——使用SHELL命令和HDFS命令

HIVE客户端使用SHELL命令和HDFS命令如果需要使用shell命令,可以通过!+shell命令来实现,注意结尾带上分号;hive (default)> ! ls -l /usr;dr-xr-xr-x. 2 root root 28672 5月 6 13:53 bindrwxr-xr-x. 2 root root 6 4月 11 2018 etcdrwxr-x...

2019-05-30 13:46:18 1035 1

原创 HIVE踩坑——使用load data导入数据到外部表和内部表的区别

准备测试表两张,相关建表语句如下其中test_01为内部表,test_02为外部表。CREATE TABLE IF NOT EXISTS `test_01`( `id` int, `name` String, `age` INT, `score` FLOAT) PARTITIONED BY ( `dataday` STRING)ROW FORMAT DELIMIT...

2019-05-27 21:50:26 1477

原创 JAVA中正则表达式的简单使用——分割数字和汉字

需求之前在工作中有遇到过源数据将员工工号和员工姓名组合在一起作为一个字段保存,在实际处理中我们需要把它进行拆分处理。数据存储样式为员工工号+员工姓名,但由于工号的样式有带字母开头的也不带字母开头的,也有大写字母和小写字母的存在,大致分为“A10010张三”,“2010李四”,“b1001王五”,接下来我们根据实际情况进行拆分处理。说明首先我们需要了解Java中常用的一些正则表达式含义。...

2019-05-27 21:27:48 2692

原创 HIVE实现自定义函数(临时函数和永久函数)

HIVE自定义函数

2019-05-23 11:19:22 5799

原创 HIVE踩坑——使用load data导入数据到普通表和分区表的区别

使用load data形式往hive表中装载数据时,则不会检查。如果字段多了则会丢弃,少了则会null值填充。同样如果字段类型不一致,也是使用null值填充。

2019-05-23 09:16:11 8218 1

原创 HIVE踩坑——LEFT JOIN 后面接AND和接WHERE的区别

这里主要针对left join 后面接on和接where的区别(踩坑)

2019-05-20 23:03:23 2476 1

原创 HIVE表插入数据设置动态分区以及相关注意事项

在HIVE中,有时候我们需要根据动态分区插入数据,默认情况下,动态分区是关闭的,这个时候执行SQL会报错,这里我们简单记录如何设置动态分区set hive.exec.dynamic.partition=true;#开启动态分区set hive.exec.dynamic.partition.mode=nonstrict;#允许所有分区都是动态的因为比较简单,这里我们主要关注一下平时使用时候的...

2019-05-20 23:03:03 785

原创 HIVE新增表在Impala中不能及时查看问题

这里基于CDH部署安装的HIVE和Impala,当我们在HIVE中新增一张表时,我们发现在Impala中不能及时查询到,这里的主要是元数据信息没有刷新,在impala里执行invalidate metadata命令刷新元数据即可。还有一种解决方式原因是/etc/impala/conf下面没有hadoop和hive相关的配置文件:将hadooop-core.xml,hdfs-site.xml,...

2019-05-20 23:02:49 1388

原创 Linux判断远程服务器文件是否存在

有时候,我们需要对远程服务器文件进行相关操作,在此之前我们需要校验远程服务器文件是否存在。ssh root@nd1 test -e /opt这里返回的是boolean类型,因此我们可以编写简单的bash脚本来打印输出。#! /bin/bashif ssh $1 test -e $2;thenecho '0'elseecho '2'fi这里我们进行简单测试,我们将远程服务器账号...

2019-05-07 14:30:20 3936 1

原创 group by在MySQL和Oracle中的区别

准备一张测试表mysql&amp;gt; select * from test;+--------+-----+------+| name | age | desc |+--------+-----+------+| lisi | 20 | abc || wangwu | 15 | zzz || lisi | 11 | qwe || wangwu | 11 | a...

2019-03-11 14:49:05 1682 3

原创 Hadoop安装包目录结构详解

我们以hadoop-2.9.2.tar.gz为例。解压到指定目录tar -zxvf hadoop-2.9.2.tar.gz -C /opt通过查看得到如下目录结构总图[root@master hadoop-2.9.2]# lldrwxr-xr-x. 2 501 dialout 4096 11月 13 23:15 bindrwxr-xr-x. 3 501 dialout 1...

2019-03-08 15:45:36 1834 1

原创 Spark on Hive 和 Hive on Spark的区别

Spark on Hive : Hive只作为存储角色,Spark负责sql解析优化,执行。这里可以理解为Spark 通过Spark SQL 使用Hive 语句操作Hive表 ,底层运行的还是 Spark RDD。具体步骤如下:通过SparkSQL,加载Hive的配置文件,获取到Hive的元数据信息;获取到Hive的元数据信息之后可以拿到Hive表的数据;通过SparkSQL来操作Hiv...

2019-03-08 09:32:43 3279

原创 Hadoop进阶——HDFS副本放置策略

副本放置官网原文:For the common case, when the replication factor is three, HDFS’s placement policy is to put one replica on the local machine if the writer is on a datanode, otherwise on a random datanode,...

2019-02-21 15:40:20 1351

原创 Java中实现List自定义排序

实体类package com.whty.entity;public class User { private int id; private String name; private int age; public User(int id, String name, int age) { super(); this.id = id; this.name = name;...

2019-01-30 10:46:49 7699 1

原创 Hive中count(distinct)转group by

//通过空间换时间select innerversion,sp,count(case when type='a' then 1 else null end ) as num1,count(case when type='b' then 1 else null end ) as num2 from (select innerversion,sp,wanhang,type from (SEL...

2019-01-29 14:16:00 1102

原创 Hive中concat函数和concat_ws函数的区别

concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULLhive&amp;amp;amp;gt; select concat('a','b');OKabTime taken: 0.477 seconds, Fetched: 1 row(s)hive&amp;amp;amp;gt; select concat('a','b',null);OKNULLTime taken: 0.181 seconds, Fet...

2019-01-21 20:52:18 16239

原创 Flume基础——日志采集、自定义拦截器

Flume入门学习(二)测试案例从Linux上采集日志数据存储到HDFS上根据日志里面数据日期自定义拦截器进行文件分组测试案例这里主要介绍两个比较常用的案例从Linux上采集日志数据存储到HDFS上实现:我们希望通过Flume将Linux上的test.log日志文件实时采集存储到HDFS上。具体实现步骤如下:日志文件test.log数据hello,javahello,pytho...

2019-01-21 20:44:34 787

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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