sqoop 使用笔记
好久没有更新自己技术博客,现在开始工作了,把自己遇到的问题写到这里边来
主要把自己的问题写出来,分享给大家
sqoop 导入数据时候 有时候会遇到mysql 中有sql 中的关键字 这时候如果直接导出到hive 中会出现错误 例如下面的例子
这时候会出现错误 可以使用--query 来解决问题
例如 :
sqoop-import -D mapreduce.map.memory.mb=256 -D mapreduce.map.java.opts=-Xmx128m --connect ''--username '' --password '' --hive-import --hive-overwrite --hive-database databases_name --hive-table table_name --query 'select doctor_id,uid as uid1 from tb_doctor WHERE $CONDITIONS ' --where "1=1" --num-mappers 1 --split-by '' --driver com.mysql.jdbc.Driver --direct --target-dir '' -- --skip-tz-utc
当导入到mysql 中数据的时候 如果遇到主键自增的时候这个时候可以使用 --columns 加上列名
例如 --columns "type,name,user_id" 等
当sqoop 从mysql 中导入到hive 中数据库中 有时候mysql 中数据库比较大这个会出现oom 的现象 这个时候可以调节参数 例如第一个列子中这个 -D 用来指定的内存的参数 一般来调节三个参数 第一个是 -D mapreduce.map.memory.mb 用来调节整个maptask 的参数 ,-D mapreduce.map.java.opts=-Xmx128m 整个是用来调节java 中堆的内存大小 -Dmapreduce.task.io.sort.mb=64 用来制定环形缓冲区的大小 一般调节这三个参数 如果内存还不够 的话 这时候要调节yarn 中对于每一个容器的内存大小,然后相应调大maptask 的内存大小,和堆的大小和环形缓冲区的大小 大概的关系就是yarn 制定容器的大小 >maptask 制定的内存>堆内存的大小
这是为什么呢 我们知道sqoop 底层实际上 就是jdbc 和mapreduce 的封装 他只执行map的过程 所以在制定sqoop 的内存的参数的时候实际就是配置mapredcue 的参数 。所以在调节sqoop 的时候实际就是调节mapreduce 的参数。
当数据库表中数据比较大的时候这个时候会导致导出跑出异常 这个时候可以使用--query 制定导入一部分 然后到某一个分区 这个时候就可以解决这个问题 如下例子
sqoop-import -D mapreduce.map.memory.mb=6000 -D mapreduce.map.java.opts=-Xmx5120m -Dmapreduce.task.io.sort.mb=2400 --connect connection_name --username username --password password --hive-import --hive-overwrite --hive-database database_name --hive-table table_name --query 'select uid,username from table_name where type=8 and 1=1 and $CONDITIONS' --split-by tb_name .uid --hive-partition-key typedata --hive-partition-value 8 --num-mappers 4 --driver com.mysql.jdbc.Driver --direct --target-dir /user/hive/tb_msg_0 -- --skip-tz-utc
用--hive-partition-key 和--hive-partition-value 来制定分区 就可以减少导入的数据量 这个时候不至于导致内存不足。
转载于:https://www.cnblogs.com/qerror404/p/6906242.html
sqoop 使用笔记相关推荐
- sqoop-使用文档
该项目已退役.详情请参阅其 阁楼页面. 文档主页 Sqoop 用户指南 (v1.4.7) Sqoop 用户指南 (v1.4.7) 目录 一.简介 2. 支持的版本 3. Sqoop 发布 4. 先决条 ...
- Hadoop学习笔记—18.Sqoop框架学习
Hadoop学习笔记-18.Sqoop框架学习 一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据 ...
- Hadoop之Sqoop框架学习(笔记19)
一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据移植过去并不容易.Apache Sqoop正在加 ...
- Linux、hbase、hive、shell、sqoop笔记总结+一键开启关闭脚本
Linux笔记 pwd------查看当前目录 cd------切换目录ls------查看当前目录下的目录及文件 ls-l或ll------长格式查看当前文件 ls-a------查看当前隐藏文件 ...
- 大数据学习笔记45:Sqoop - 数据迁移工具
文章目录 一.Sqoop概述 二.下载.安装和配置Sqoop 1.下载sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 2.将sqoop-1.4.7.bin__hadoop-2 ...
- sqoop完整版学习笔记
sqoop 1.安装 1.1.修改配置文件 1.2.将mysql驱动包拷入 2.Mysql to HDFS 2.1.查询Mysql所有数据库 2.2.查询指定数据库中所有数据表 2.3.全量导入mys ...
- Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍
Hadoop学习笔记-20.网站日志分析项目案例(一)项目介绍 网站日志分析项目案例(一)项目介绍:当前页面 网站日志分析项目案例(二)数据清洗:http://www.cnblogs.com/edis ...
- Hadoop学习笔记系列文章导航
一.为何要学习Hadoop? 这是一个信息爆炸的时代.经过数十年的积累,很多企业都聚集了大量的数据.这些数据也是企业的核心财富之一,怎样从累积的数据里寻找价值,变废为宝炼数成金成为当务之急.但数据增长 ...
- 执行sqoop 用shell_Mysql和Hive之间通过Sqoop进行数据同步
文章回顾 理论 大数据框架原理简介 大数据发展历程及技术选型 实践 搭建大数据运行环境之一 搭建大数据运行环境之二 本地MAC环境配置 CPU数和内存大小 查看CPU数 sysctl machdep. ...
最新文章
- 最新Java面试题答案
- Windows文件系统过滤驱动开发教程(0,1,2)
- Linux下Redis-3.0.7版本的安装以及Redis主备的部署(二)
- 1的个数 itoa函数使用
- Prism学习笔记(三):对Prism中模块化程序的理解。
- MQTT-SN协议乱翻之消息格式
- 3皮卡丘眨眼代码_眨眼检测调研以及活体检测应用
- P2611-[ZJOI2012]小蓝的好友【Treap,扫描线】
- Qt中常用的QChar QByteArry QString数据类型转换方法
- Mule ESB File Connector轮询单个文件的实现(3)
- 【C++】演讲比赛流程管理系统
- SDK和DDK ?
- PHPWAMP自定义php版本的方法
- 【Unity3D-Mirror多人坦克大战】子弹及其开火位置的生成、子弹开火逻辑(四)
- jquery下载及怎么选择版本
- 修改数据库单参数对应的值 前端+php
- 开店经验|如何开一家精品咖啡馆
- 除了Micrsoft Office和WPS,有没有免费好用的office软件?
- windows邮箱无法登录腾讯企业邮箱
- 计算机视觉方向博后,直播回顾 | 深圳大学龚元浩:比几何流快一万倍的曲率滤波算法(附博后招聘)...
热门文章
- vb 字符串长度_学习VB编程第5天 基础知识需要一点点积累
- 北京大学生物信息学学习(3动态规划进行2序列比对的原理 )
- matlab 离散点求导_Matlab的离散点曲线导数曲率数值模拟方法
- 识别中文_中文场景文字识别大赛官方baseline
- 软件调试第二版卷一硬件基础 pdf_2020全球C++及系统软件技术大会,C++之父领衔...
- Stanford机器学习---第4讲. 神经网络的表示 Neural Networks representation
- 基于隐马尔可夫模型的有监督词性标注
- 运动目标跟踪(三)--搜索算法优化搜索方向之Meanshift
- OpenCV系统学习(基本了解完)
- 51单片机redefinition_lcd12864程序在keil中出现好多重新定义,尝试了很多办法都改不了,求助大家了...