- 博客(47)
- 收藏
- 关注
原创 Hive的UDF(用户自定义函数)开发
当 Hive 提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF:user-defined function)。测试各种内置函数的快捷方法:创建一个 dual 表create table dual(id string);load 一个文件(只有一行内容:内容为一个空格)到 dual 表新建 JAVA maven 项目添加依赖<dependencies>...
2018-07-09 08:25:00
357
原创 Hive命令行及参数配置
1 . Hive 命令行 输入$HIVE_HOME/bin/hive –H 或者 –help 可以显示帮助选项: 说明: 1、 -i 初始化 HQL 文件。 2、 -e 从命令行执行指定的 HQL 3、 -f 执行 HQL 脚本 4、 -v 输出执行的 HQL 语句到控制台 5、 -p <port> connect to ...
2018-07-09 08:24:26
1260
原创 Hive的运算和函数大全
hive 常用运算测试各种内置函数的快捷方法:创建一个 dual 表create table dual(id string);load 一个文件(只有一行内容:内容为一个空格)到 dual 表 第一部分:关系运算 Hive支持的关系运算符 •常见的关系运算符 •等值比较: = •不等值比较: <> •小于比较: < •小于等于比较: <= ...
2018-07-09 08:23:51
5101
原创 Hive的DML操作
1. Load 在将数据加载到表中时,Hive 不会进行任何转换。加载操作是将数据文件移动到与 Hive表对应的位置的纯复制/移动操作。 语法结构:load data [local] inpath 'filepath' [overwrite] into table tablename [partition (partcol1=val1, partcol2=val2 ...)] 说明: 1...
2018-07-09 08:22:54
217
原创 Hive的DDL操作
DDL(数据定义语言)操作 Hive配置单元包含一个名为 default 默认的数据库. create database [if not exists] <database name>;---创建数据库 show databases | schemas; --显示所有数据库 drop database if exists <database name>...
2018-07-09 08:22:01
687
原创 Hive的介绍及安装
简介 Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件 映射为一张数据库表,并提供类 SQL 查询功能。 本质是将 SQL 转换为 MapReduce 程序。 Hive组件 用户接口:包括 CLI、JDBC/ODBC、WebGUI。其中,CLI(command lineinterface)为 shell 命令行;JDBC/ODBC 是 Hive 的 JAVA 实...
2018-07-08 13:11:38
170
原创 Flume的load-balance、failover
配置flume集群参考https://www.cnblogs.com/jifengblog/p/9277793.htmlload-balance负载均衡 介绍负载均衡是用于解决一台机器(一个进程)无法解决所有请求而产生的一种算法。Load balancing Sink Processor 能够实现 load balance 功能,如下图Agent1 是一个路由节点,负责将 Channel 暂存的...
2018-07-08 13:10:10
509
原创 Flume采集目录及文件到HDFS案例
采集目录到HDFS 使用flume采集目录需要启动hdfs集群vi spool-hdfs.conf# Name the components on this agenta1.sources = r1a1.sinks = k1a1.channels = c1# Describe/configure the source##注意:不能往监控目中重复丢同名文件a1.sources.r1....
2018-07-08 13:09:34
594
原创 Apache Flume简介及安装部署
概述Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的软件。Flume 的核心是把数据从数据源(source)收集过来,再将收集到的数据送到指定的目的地(sink)。为了保证输送的过程一定成功,在送到目的地(sink)之前,会先缓存数据(channel),待数据真正到达目的地(sink)后,flume 在删除自己缓存的数据。Flume 支持定制各类数...
2018-07-08 13:09:04
1389
原创 MapReduce序列化及分区的java代码示例
概述 序列化(Serialization)是指把结构化对象转化为字节流。 反序列化(Deserialization)是序列化的逆过程。把字节流转为结构化对象。 当要在进程间传递对象或持久化对象的时候,就需要序列化对象成字节流,反之当要将接收到或从磁盘读取的字节流转换为对象,就要进行反序列化。 Java 的序列化(Serializable)是一个重量级序列化框架,一个对象被序列化后,会附带很...
2018-07-08 13:08:45
442
原创 MapReduce输入输出的处理流程及combiner
MapReduce 的输入输出MapReduce 框架运转在<key,value> 键值对上,也就是说,框架把作业的输入看成是一组<key,value>键值对,同样也产生一组<key,value>键值对作为作业的输出,这两组键值对可能是不同的。一个 MapReduce 作业的输入和输出类型如下图所示:可以看出在整个标准的流程中,会有三组<key,value...
2018-07-08 13:07:21
3387
原创 MapReduce框架结构及代码示例
一个完整的 mapreduce 程序在分布式运行时有三类实例进程:1、MRAppMaster:负责整个程序的过程调度及状态协调2、MapTask:负责 map 阶段的整个数据处理流程3、ReduceTask:负责 reduce 阶段的整个数据处理流程 设计构思 MapReduce 是一个分布式运算程序的编程框架,核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程...
2018-07-08 13:06:49
221
原创 HDFS原理
1 . NameNode 概述a、 NameNode 是 HDFS 的核心。b、 NameNode 也称为 Master。c、 NameNode 仅存储 HDFS 的元数据:文件系统中所有文件的目录树,并跟踪整个集群中的文件。d、 NameNode 不存储实际数据或数据集。数据本身实际存储在 DataNodes 中。e、 NameNode 知道 HDFS 中任何给定文件的块列表及其位置。使用此信息...
2018-07-08 13:06:10
169
原创 shell定时采集数据到HDFS
上线的网站每天都会产生日志数据。假如有这样的需求:要求在凌晨 24 点开始操作前一天产生的日志文件,准实时上传至 HDFS 集群上。该如何实现?实现后能否实现周期性上传需求?如何定时? Linux crontab: : crontab -e 0 0 * * * /shell/ uploadFile2Hdfs.sh //每天凌晨 12:00 执行一次 实现流程一般日志文件生成的逻辑由...
2018-07-08 13:05:28
1517
原创 HDFS的JavaAPI
配置windows平台的Hadoop环境 在 windows 上做 HDFS 客户端应用开发,需要设置 Hadoop 环境,而且要求是windows 平台编译的 Hadoop,不然会报以下的错误:Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate...
2018-07-08 13:04:40
134
原创 HDFS基本操作
Shell命令选项 Shell常用命令- - ls使用方法:hadoop fs -ls [-h] [-R] <args>功能:显示文件、目录信息。示例:hadoop fs -ls /user/hadoop/file1- - mkdir使用方法:hadoop fs -mkdir [-p] <paths>功能:在 hdfs 上创建目录,-p 表示会创建路径中的各级父目录。示例:...
2018-07-05 13:17:29
386
原创 HDFS重要特性
首先,它是一个文件系统,用于存储文件,通过统一的命名空间目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。1. master/slave 架构 HDFS 采用 master/slave 架构。一般一个 HDFS 集群是有一个 Namenode 和一定数目的 Datanode 组成。Namenode 是 HDFS 集群主节点,Datanode 是 H...
2018-07-05 13:16:54
466
原创 Hadoop集群搭建
一、集群简介HADOOP 集群具体来说包含两个集群:HDFS 集群和 YARN 集群,两者逻辑上分离,但物理上常在一起。HDFS 集群负责海量数据的存储,集群中的角色主要有: NameNode、DataNode、SecondaryNameNodeYARN 集群负责海量数据运算时的资源调度,集群中的角色主要有: ResourceManager、NodeManager MapRedu...
2018-07-05 13:16:20
189
原创 网站流量数据采集环境部署及实现
一、原理分析与设计实现 友情链接:https://www.cnblogs.com/likemebee/p/7967534.html 二、系统环境部署 !!!执行复制下列命令是注意查看是否为英文类型的 “-” ,当命令错误时首先排查该处 -------------------------------服务器 A 中部署开始---------------------------...
2018-07-05 13:13:57
785
原创 zookeeper的JavaAPI
org.apache.zookeeper.Zookeeper Zookeeper 是在 Java 中客户端主类,负责建立与 zookeeper 集群的会话,并提供方法进行操作。 org.apache.zookeeper.Watcher Watcher 接口表示一个标准的事件处理器,其定义了事件通知相关的逻辑,包含 KeeperState 和 EventType 两个枚举类,分别代表了通知状态...
2018-07-05 13:12:30
143
原创 zookeeper的shell操作
一、启动zookeeper集群 进入zookeeper安装目录下的bin目录内,通过命令启动./zkServer.sh start 通过命令查看节点状态./zkServer.sh status 通过命令关闭./zkServer.sh stop 二、连接zookeeper服务 启动zookeeper服务之后,输入以下命令,连接到Zookeeper服务,注意:如果没有配置环境变量在zooke...
2018-07-05 13:11:53
438
原创 zookeeper集群搭建
Zookeeper 集群搭建指的是 ZooKeeper 分布式模式安装。通常由 2n+1台 servers 组成。这是因为为了保证 Leader 选举(基于 Paxos 算法的实现)能过得到多数的支持,所以 ZooKeeper 集群的数量一般为奇数。 Zookeeper 运行需要 java 环境,所以需要提前安装 jdk1. 卸载自带的jdk查看当前jdk版本信息 获取java...
2018-07-03 19:11:46
170
原创 Shell编程
Shell介绍Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务。它类似于 DOS 下的 command 和后来的 cmd.exe。Shell 既是一种命令语言,又是一种程序设计语言。Shell script 是一种为 shell 编写的脚本程序。Shell 编程一般指 shell脚本编程,不是指开发 shell 自身。Shell 编程跟 java、php 编...
2018-07-03 19:10:41
94
原创 Liunx网络管理
本地yum源 yum(Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及CentOS 中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum 机制的强大之处在于 yum 源。yum 源相当是一个目录项,当我...
2018-07-03 19:09:52
102
原创 liunx增强命令
查找命令 grep 格式:grep [option] pattern [file] 实例:ps -ef | grep sshd 查找指定 ssh 服务进程ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除 gerp 本身ps -ef | grep sshd –c 查找指定进程个数cat a.txt | grep -f b.txt 从文件中读取关...
2018-07-03 16:50:56
102
原创 Liunx常用命令
磁盘管理的命令 ls 参数 : -al : 查看当前目录下所有的文件以及文件夹,包括隐藏文件ll : 查看当前目录下所有文件以及文件夹的详细信息,不包括隐藏文件pwd : 查看当前的路径mkdir : 创建文件夹 参数 -p : 表示创建多级目录cd : 切换路径 文件管理的命令cat : 查看文件的所有内容less 查看我们的文件内容enter 往下翻一行空格 往下翻一页q...
2018-07-03 16:50:17
95
原创 Liunx的目录结构
/: 根目录,一般根目录下只存放目录,不要存放文件。 /etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中 /bin: /usr/bin: (binaries)存放二进制可执行文件。如常用的命令ls、tar、mv、cat等。 /boot: 放置linux系统启动时用到的一些文件。 /boot/vmlinuz为linux的内核文件,...
2018-07-03 16:49:34
117
原创 VMware三种网络模式
Bridged(桥接) 使用VMware中vmnet0虚拟交换机,如果能上网取决于网桥桥接到哪里桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机 ip 地址需要与...
2018-07-03 16:47:36
133
原创 SpringMVC详解
高级参数绑定绑定数组 jsp中获取list集合并遍历<c:forEach items="${itemList }" var="item"><tr> <td><input name="ids" value="${item.id}" type="checkbox"></td
2018-07-03 16:44:10
218
原创 SpringMVC入门
SpirngMVC:是一个常用的表现层的框架,用于我们在web开发中,常用的参数传递,请求接收,请求响应,页面跳转等常用功能。 SpringMVC的处理流程 springMVC的执行流程 框架结构 架构流程1、 用户发送请求至前端控制器DispatcherServlet2、 DispatcherServlet收到请求调用HandlerMapping处理器...
2018-07-03 16:42:56
100
原创 spring与mybatis的整合
整合的思路 SqlSessionFactory对象放到spring容器中作为单例存在。传统dao的开发方式中,从spring容器中获得sqlsession对象。Mapper代理形式中,从spring容器中直接获得mapper的代理对象。数据库的连接以及数据库连接池事务管理都交给spring容器来完成。 整合需要的jar包要实现spring与mybatis的整合,就要首先导入相关的依赖jar包,如下...
2018-06-29 11:31:54
103
原创 spring对数据库的操作、spring中事务管理的介绍与操作
jdbcTemplate的入门 创建maven工程 此处省略 导入依赖<!-- https://mvnrepository.com/artifact/org.springframework/spring-core --> <dependency> <groupId>org.springframework</group...
2018-06-29 11:31:15
441
2
原创 AOP的实现
AOP基于xml配置方式实现Spring基于xml开发AOP 定义目标类(接口及实现类) 1 /** 2 * 目标类 3 */ 4 public interface UserService { 5 //业务方法 6 public void getById(); 7 public void add(); 8 public vo...
2018-06-29 11:29:43
101
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人