Sqoop抽取从mysql抽取到hive

sqoop抽取到mysql一样有两种方式一种是用command line的方式,一种是用sqoop opt文件调用的方式。(由于两种sqoop一已经记录了,现在主要是利用opt的方式)

、从hive到mysql,如果hive对应表如果没有分区字段的话配置如下(参数要根据实际情况更改)

fileName:test-hive.opt

import
--connect
"jdbc:mysql://master:3306/test"
--username
root
--password
123456
--table
"rpt_sale_daily"
--columns
"dateid,huodong,pv,uv"
--where
"dateid='2015-08-28'"
--hive-import
--hive-overwrite
--hive-table
test_sale_daily
--hive-drop-import-delims
-m
1

调用文件fileName:sqoop.sh

hadoop fs -rmr sqoop/rpt_sale_daily(先调用hadoop fs命令删除sqoop存在的中间文件表)

sqoop options-file ./test.opt(执行opt文件)

最后在linux执行命令行 sh ./sqoop.sh

如果hive表存在分区的话需要在opt配置文件加多一些配置项

import
--connect
"jdbc:mysql://master:3306/test"
--username
root
--password
123456

--table
"rpt_sale_daily"
--columns
"dateid,huodong,pv,uv"
--where
"dateid='2015-08-28'"

--hive-import
--hive-overwrite
--hive-table
test_sale_pt
--hive-drop-import-delims
--hive-partition-key
ds
--hive-partition-value
"2015-08-28"
-m
1

初次之外基本与上面相同。

记得报目录存在错误的话要先手动删除之前生成的sqoop存在的中间目录

hadoop fs -rmr {home}/{关系db表名}

/user/root/{关系db表名}

还有很多相关的sqoop hive to sql 的配置信息具体查看

http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.4-cdh5.1.0/SqoopUserGuide.html

note:写配置文件记得格式要严格不能多空格什么。opt方式不能传递参数是缺点,如果想克服这一缺点可能需要自己对program进行封装。

从HDFS到mysql

export

--connect

"jdbc:mysql://master:3306/test"

--username

root

--password

123456

-m

1

--table

"daily_hour_visit_result"

--columns

"dateid,pv,uv"

--export-dir

/user/hive/warehouse/rpt2.db/daily_hour_visit_result/ds=2015-08-28

--input-fields-terminated-by

\t

Sqoop学习笔记_Sqoop的基本使用二(sqoop的import与export)的更多相关文章

  1. Sqoop学习笔记_Sqoop的基本使用一

    Sqoop   关系DB与Hive/HDFS/HBase导入导出的Mapreduce框架. http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.4-cdh ...

  2. Qlik Sense学习笔记之Mashup开发(二)

    date: 2019-01-26 11:28:07 updated: 2019-01-26 11:28:07 Qlik Sense学习笔记之Mashup开发(二) 1.Mobile SPA UI Fr ...

  3. Deep Learning(深度学习)学习笔记整理系列之(二)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  4. 多线程编程学习笔记——async和await(二)

    接上文 多线程编程学习笔记——async和await(一) 三.   对连续的异步任务使用await操作符 本示例学习如何阅读有多个await方法方法时,程序的实际流程是怎么样的,理解await的异步 ...

  5. Javascript学习笔记三——操作DOM(二)

    Javascript学习笔记 在我的上一个博客讲了对于DOM的基本操作内容,这篇继续巩固一下对于DOM的更新,插入和删除的操作. 对于HTML解析的DOM树来说,我们肯定会时不时对其进行一些更改,在原 ...

  6. 【大数据】Sqoop学习笔记

    第1章 Sqoop简介 Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MyS ...

  7. 学习笔记-CCS-MSP430F5529[快速入门篇二]

    由于2021的全国电赛延期了,从今天开始打算好好整理一下使用CCS编程的经验,本篇笔记会好好整理一下我备赛期间用CCS写的程序,包括外部中断,定时器部分的定时中断,定时器输入捕获,PWM波输出,UAR ...

  8. js学习笔记之:数组(二)

    今天来学习一下数组的遍历.删除等知识点:    1 数组的遍历 数组元素的遍历可以使用for循环,采用关键字for...in var aCity =  new Array("北京" ...

  9. EEPROM读写学习笔记与I2C总线(二)

    无论任何电子产品都会涉及到数据的产生与数据的保存,这个数据可能并不是用来长久保存,只是在运行程序才会用到,有些数据体量较大对于获取时效性并不太强,各种各样的数据也就有不同的存储载体,这次在EEPROM ...

随机推荐

  1. 接口测试 java+httpclient+testng+excel

    最近项目不忙,研究了下java实现接口自动化,借助testng+excel实现数据驱动 目前只用post方式测试,返回结果列没有通过列名去找 另外,请求参数是转义之后的,接口之间的依赖也是个问题,批量 ...

  2. laravel 优化小记

    laravel 优化 7 Performance Optimization Tips for the Laravel Developer 运行 php artisan optimize php art ...

  3. Java 基础 - java序列化 & serialVersionUID

    ref: https://www.cnblogs.com/duanxz/p/3511695.html ------------------- SerialVersionUID概述 SerialVers ...

  4. 剑指Offer-13:调整数组位置使奇数位于偶数前面

    题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变.例如给定一个数组 ...

  5. JSONObject 序列化后,对象数据为引用地址

    最近在json序列化的时候,遇到了个坑,记录如下: public static void main(String[] args) { JSONObject json = new JSONObject( ...

  6. centos7 将home目录空间扩容到根目录

    [root@localhost ~]# umount /home/ [root@localhost ~]# lvremove /dev/mapper/centos-home Do you really ...

  7. PAT甲级——A1122 Hamiltonian Cycle【25】

    The "Hamilton cycle problem" is to find a simple cycle that contains every vertex in a gra ...

  8. 通过apiservice反向代理访问service

    第一种:NodePort类型 type: NodePort ports: - port: 80 targetPort: 80 nodePort: 30008 ​ 第二种:ClusterIP类型 typ ...

  9. Mysql优化系列之查询性能优化前篇2

    接前一篇,这一篇主要总结下几个经常要用的命令 命令一:explain+sql mysql> explain select * from servers; +----+-------------+ ...

  10. seienium基础(测试脚本中的等待方法)

    测试脚本中的等待方法 一.加等待时间的目的 等待是为了使脚本执行更加稳定 二.常用的休眠方式 第一种  sleep(): 设置固定休眠时间.python 的 time 包提供了休眠方法 sleep() ...