一、Hive的JDBC连接

日志分析结果数据,存储在hive中

<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
<description>Port number of HiveServer2 Thrift interface.
Can be overridden by setting $HIVE_SERVER2_THRIFT_PORT</description>
</property> <property>
<name>hive.server2.thrift.bind.host</name>
<value>localhost</value>
<description>Bind host on which to run the HiveServer2 Thrift interface.
Can be overridden by setting $HIVE_SERVER2_THRIFT_BIND_HOST</description>
</property>

hive.server2.thrift.bind.host

如果需要远程连接,则改成主机名beifeng-hadoop-02,或者0.0.0.2(表示任何主机都可以连接)

hiveserver2进程的启动:nohup hiveserver2 > /home/beifeng/hiveserver2.start.log 2>&1 &

nohup hive --service hiveserver2 > /home/beifeng/hiveserver2.start.log 2>&1 &
ps -ef | grep HiveServer2
netstat -tlnup | grep 10000

如果需要远程连接,则改成主机名beifeng-hadoop-02,或者0.0.0.2(表示任何主机都可以连接)

JDBC连接
beeline连接客户端beeline

进入beeline交互式窗口以后,

执行:!connect jdbc:hive2://beifeng-hadoop-02:10000

首次用beeline访问Hive,会出现异常

hive.server2.long.polling.timeout

username:用户名一定要用hdfs上的用户,或者对hdfs上与hive相关的目录有写权限的用户名

hive.metastore.warehouse

passwd

二、Sqoop

1. 数据来源:

(1)日志数据:业务系统运行过程中产生的业务日志数据(用户行为数据),上传到hdfs

对于小数据量: shell脚本方式 hdfs dfs -put

对于大数据量: 使用专门框架

Flume:使用mapreduce导数据到

LogStah:ELK   --->  E elasticsearch | L logstach | K kinbana

(2)RMBMS的记录:需要先导入到HDFS上

金融行业,反欺诈模型--》通过分析历史金融交易记录

金融交易记录:一般是存储在DB2、ORACLE

Sqoop框架:

RMDBS <=======> HDFS

Sqoop框架底层本质:还是mapreduce,只需要map,并发执行

2. Sqoop架构

sqoop

sqoop1:包含了sqoop的核心,使用命令操作

sqoop2:在sqoop1的基础上封装了一些服务,比如添加连接池、客户端

导数据其实一般是通过编写脚本,定时去执行。

3. Sqoop安装部署

统一使用cdh版本: 各个框架之间存在版本的兼容性,

Cloudera公司 Doug Cutting

Cloudera Manager:集群监控、管理的工具

cdh版本: hadoop、hive、sqoop、flume、hue、oozie

bin/sqoop help

bin/sqoop export

bin/sqoop import

bin/sqoop list-databases

bin/sqoop list-tables

bin/sqoop --options-file 文件名

4. 项目案例

订单分析:数据来源于RDBMS

统计的需求:

日期维度:年

订单金额总额、平均订单金额、最大订单金额、最小订单金额

日期维度+地域维度:某个国家省份城市+年

订单金额总额、平均订单金额、最大订单金额、最小订单金额

某个客户下:历史、年

订单金额总额、平均订单金额、最大订单金额、最小订单金额

实现实录:

1)将订单记录从RDBMS上导入到HDFS

2)Hive进行统计分析

3)将统计结果数据导出到RDBMS

sqoop export

bin/sqoop --list-databases \

--connection --jdbc:mysql://host:port/database\

--username \

--password

1)用sqoop将数据导入到hdfs

bin/sqoop help import

bin/sqoop import \

--connection --jdbc:mysql://host:port/database\

--username \

--password

--table cust info\

--target-dri hdfs://host/user/beifeng/import/cust_info

--delete-target-dir

增量导入

--check-column  依据字段,类型应该使用数字类型

--incremental 模式 append lastmodified

--last-value 上次导的值

强烈建议使用数字类型的字段进行切分

指定map个数 --num-mappers

默认导入到hdfs上的文件是CSV文件(每个字段之间使用逗号隔开)。

====按照自定义分隔符将RDBMS表数据导入hdfs

Output line formatting arguments:指定MapReduce输出格式

Input parsing arguments:指mapreduce读取数据时解析数据

--fields-terminated-by: 指定分隔符

《OD学Hive》第六周20160730的更多相关文章

  1. 《OD学hive》第六周20160731

    一.hive的压缩 1. hadoop的压缩 1)为什么需要压缩 MapReduce的性能瓶颈:网络IO.磁盘IO 数据量:对于MapReduce的优化,最主要.根本就是要能够减少数据量 Combin ...

  2. 《OD学hive》第五周0723

    https://cwiki.apache.org/confluence/display/Hive/LanguageManual 一.创建表 create table student(id int, n ...

  3. 《OD学hive》第四周0717

    一.Hive基本概念.安装部署与初步使用 1. 后续课程 Hive 项目:hadoop hive sqoop flume hbase 电商离线数据分析 CDH Storm:分布式实时计算框架 Spar ...

  4. 《OD学hadoop》第二周0702

    大数据离线计算hadoop2.x 三周(6天) markdown文本剪辑器 罗振宇--跨年演讲,时间的朋友 http://tech.163.com/16/0101/11/BC87H8DF000915B ...

  5. 《OD学hadoop》第二周0703

    hdfs可视化界面: http://beifeng-hadoop-01:50070/dfshealth.html#tab-overview yarn可视化界面: http://beifeng-hado ...

  6. 《OD学hadoop》第一周0625

    一.实用网站 1. linux内核版本 www.kernel.org 2. 查看网站服务器使用的系统  www.netcraft.com 二.推荐书籍 1. <Hadoop权威指南> 1- ...

  7. 从零开始学Python第六周:面向对象基础(需修改)

    标签(空格分隔): 面向对象 一,面向对象基础 (1)面向对象概述 面向过程:根据业务逻辑从上到下写代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类 ...

  8. 《OD学hadoop》第一周0626 作业二:Linux基础

    一.打包压缩 知识点: tar -zxvf -C PATH tar -jxvf tar -zcvf tar -jcvf tar:打包命令 -z 打包同时gzip压缩 -j 打包同时bzip2 -c 打 ...

  9. 《OD学hadoop》第一周0625 LINUX作业一:Linux系统基本命令(一)

    1. 1) vim /etc/udev/rules.d/-persistent-net.rules vi /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE= ...

随机推荐

  1. 【bzoj1014】[JSOI2008]火星人prefix

    1014: [JSOI2008]火星人prefix Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 6031  Solved: 1917[Submit] ...

  2. .NET4.0下网站应用法度用UrlRewriter.dll重写无后缀路径 (在IIS7.5中的设备办法)

    .NET4.0下网站应用法度用UrlRewriter.dll重写无后缀路径 在IIS中新建网站(端标语8111) 直接运行http://localhost:8111/ 设备办法: 二.添加通配符脚本映 ...

  3. UML组件图(转载)

    概述: 组件图是不同的性质和行为.组件图用于模拟物理方面的系统. 现在的问题是什么,这些物理方面?物理方面的元素,如可执行文件,库,文件,证件等它位于在一个节点. 因此,组件图用于可视化的组织和系统组 ...

  4. Nginx负载均衡介绍

    Nginx真心牛逼 nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态.静态页面的分离,可以按照轮询.ip哈希.URL哈希.权重等多种方式 ...

  5. 如何实现Windows Phone代码与Unity相互通信(插件方式)

    原地址:http://www.cnblogs.com/petto/p/3915943.html 一些废话 原文地址: http://imwper.com/unity/petto/%E5%A6%82%E ...

  6. 【hadoop】mapreduce原理总结

    看了两天的各种博客,终于把MapReduce的原理理解了个大概.花了1个小时画了个流程图.大家看看,有不对的地方欢迎指正. 关键步骤: Map, Reduce就不多说了.记录一下我看了很久的部分: 1 ...

  7. [读]剑指offer

    研二的开始找工作了,首先祝愿他们都能够找到自己满意的工作.看着他们的身影,自问明年自己这个时候是否可以从容面对呢?心虚不已,赶紧从老严那儿讨来一本<剑指offer>.在此顺便将自己做题所想 ...

  8. MY_Log,无缝替换原生Log,支持日志输出到文件、FirePHP

    自己扩展了一个MY_Log, 用法类似于log4j,目前支持将日志输出到文件.FirePHP.如果你需要将日志输出到其他地方,比如邮件.数据库等,可以很方便地进行扩展. 用法很简单,大家一看就知道.1 ...

  9. Unit4中的Annotation

    Unit4中的Annotation(注解.注释) JUnit4 使用 Java 5 中的注解(annotation),以下是JUnit4 常用的几个annotation介绍@Before:初始化方法@ ...

  10. yum downloadonly

         有些时候集群中的机器无法联网,通过yum进行安装,这样就需要找一个相同内核的机器将rpm下载后再到相应的机器上进行安装,以解决这一问题.      yum 有相应的工具完成这一任务.     ...