Sqoop应用案例
测试数据准备
Mysql创建新数据库
12-- 用于在 Mysql 中生成测试数据CREATE DATABASE sqoop;
连接新建的数据库,并执行以下语句
123456789101112131415161718192021222324252627282930313233343536373839CREATE TABLE sqoop.goodtbl( gname varchar(50), serialNumber int, price int, stock_number int, create_time date);DROP FUNCTION ...
Sqoop概述与安装
Sqoop概述
Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql等)间进行数据的传递。可以将关系型数据库(MySQL ,Oracle,Postgres等)中的数据导入到HDFS中,也可以将HDFS的数据导进到关系型数据库中。
Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个 Apache 项目。
将导入或导出命令转换为 MapReduce 程序来实现。翻译出的 MapReduce 中主要是对 inputf ...
Flume高级特性
拦截器
Flume支持在运行时对event进行修改或丢弃,通过拦截器来实现;
Flume里面的拦截器是实现了org.apache.flume.interceptor.Interceptor 接口的类;
拦截器可以根据配置 修改 甚至 丢弃 event;
Flume也支持链式的拦截器执行方式,在配置文件里面配置多个拦截器就可以了;
拦截器的顺序取决于它们配置的顺序,Event 按照顺序经过每一个拦截器;
时间添加戳拦截器
这个拦截器会向每个event的header中添加一个时间戳属性进去,key默认是“ timestamp ”(也可以通过下面表格中的header来自定义),value就是当前的毫 ...
Flume基础应用
Flume 支持的数据源种类有很多,可以来自directory、http、kafka等。Flume提供了Source组件用来采集数据源。
常见的 Source 有:
avro source:监听 Avro 端口来接收外部 avro 客户端的事件流。
avro-source接收到的是经过avro序列化后的数据,然后反序列化数据继续传输。如果是avrosource的话,源数据必须是经过avro序列化后的数据。利用 Avro source可以实现多级流动、扇出流、扇入流等效果。接收通过flume提供的avro客户端发送的日志信息。
Avro是Hadoop的一个数据序列化系统,由Hadoop的 ...
Flume概述与安装
Flume概述
无论数据来自什么企业,或是多大量级,通过部署Flume,可以确保数据都安全、及时地到达大数据平台,用户可以将精力集中在如何洞悉数据上。
Flume的定义
Flume由Cloudera公司开发,是一个分布式、高可靠、高可用的海量日志采集、聚合、传输的系统。
Flume支持在日志系统中定制各类数据发送方,用于采集数据;
Flume提供对数据进行简单处理,并写到各种数据接收方的能力。
简单的说,Flume是实时采集日志的数据采集引擎。
Flume有3个重要组件:Source、Channel、Sink
特点:
分布式:flume分布式集群部署,扩展性好
可靠性好: ...
Hive案例
需求描述
针对销售数据,完成统计:
按年统计销售额
销售金额在 10W 以上的订单
每年销售额的差值
年度订单金额前10位(年度、订单号、订单金额、排名)
季度订单金额前10位(年度、季度、订单id、订单金额、排名)
求所有交易日中订单金额最高的前10位 7. 每年度销售额最大的交易日
年度最畅销的商品(即每年销售金额最大的商品)
数据说明
日期表(dimdate)
类型
备注
dt
date
日期
yearmonth
int
年月
year
smallint
年
month
tinyint
月
day
tinyint
日
we ...
Hue整合Hadoop、Hive
集成HDFS、YARN
修改参数文件 pseudo-distributed.ini
1234-- 进入Linux122 的hue的配置文件目录cd /opt/lagou/servers/hue/desktop/confvim pseudo-distributed.ini
12345678910111213# [hadoop] -- [[hdfs_clusters]] -- [[[default]]]# 注意端口号。下面语句只要一个# fs_defaultfs=hdfs://linux121:8020fs_defaultfs=hdfs://Linux121:9000webhdfs_url ...
Hue安装与配置
Hue概述
Hue(Hadoop User Experience)是一个开源的 Apache Hadoop UI 系统,最早是由Cloudera Desktop 演化而来,由 Cloudera 贡献给开源社区,它是基于 PythonWeb 框架 Django 实现的。通过使用 Hue 可以在浏览器端的 Web 控制台上与Hadoop 集群进行交互来分析处理数据,例如操作 HDFS 上的数据,运行MapReduce Job 等等。
Hue所支持的功能特性集合:
默认基于轻量级sqlite数据库管理会话数据,用户认证和授权,可以自定义为MySQL、Postgresql,以及Oracle
基 ...
Hive调优实战
数据说明
学生信息表(student_txt)定义如下:
1234567891011121314151617-- 创建数据库create database tuning;use tuning;-- 创建表create table if not exists tuning.student_txt( s_no string comment '学号', s_name string comment '姓名', s_birth string comment '出生日期', s_age int comment '年龄 ...
Hive调优策略
Hive作为大数据领域常用的数据仓库组件,在设计和开发阶段需要注意效率。
影响Hive效率的不仅仅是数据量过大;数据倾斜、数据冗余、job或I/O过多、MapReduce分配不合理等因素都对Hive的效率有影响。
对Hive的调优既包含对HiveQL语句本身的优化,也包含Hive配置项和MR方面的调整。
从以下三个方面展开: 架构优化, 参数优化, SQL优化
架构优化
执行引擎
Hive支持多种执行引擎,分别是 MapReduce、Tez、Spark、Flink。可以通过hivesite.xml文件中的hive.execution.engine属性控制。
Tez是一个构建于YARN之上的支 ...