sqoop mysql2hive
a./etc/profile添加export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*
b.将hive-site.xml 拷贝到 $SQOOP_HOME/conf目录下(否则报错找不到hive库)
--connect #关系型数据库连接
--username #关系型数据库连接用户名
--password #关系型数据库连接密码
--table #关系型数据库的表
--split-by #如果-m的数量不为1,则一定要加上该参数且最好是数值类型,否则会报错
--direct #快速模式,使用mysql自带的mysqldump导出数据
--delete-target-dir #如果hdfs的目录已经存在则先删除
--target-dir #导入到hdfs时的目标目录
--export-dir #从hdfs导出时的源目录
--fields-terminated-by #导入到hdfs时的hdfs文件分隔符
--input-fields-terminated-by #从hdfs导出时的hdfs文件分隔符
--hive-drop-import-delims #导入hive中的数据某列中如果有换行符或回车键可以删除
--hive-database #hive的数据库
--hive-table #hive的表
--hive-overwrite #覆盖之前的分区插入数据
--hive-partition-key #hive分区字段
--hive-partition-value #hive分区值
-m #指定map数量,也是生成的文件数
特别说明:如果指定的map的数量不为1,则一定要加上–split-by参数且最好是数值类型
sqoop import \
--connect "jdbc:mysql://deptest75:3306/test_data?useUnicode=true&characterEncoding=utf8" \
--username root \
--password 1q2w3e4r \
--table mysql_stu_info \
--delete-target-dir \
--hive-drop-import-delims \
--hive-import \
--hive-overwrite \
--hive-database test_data \
--hive-table stu_info \
--hive-partition-key ymday \
--hive-partition-value 20190329 \
--split-by age \
--fields-terminated-by '\t' \
-m 6
这里记住一点,导入hive分区表时,sqoop会把结果存在hdfs的一个临时文件中,如果table是mysql_stu_info,执行用户是hadoop则先将数据写入 hdfs的/user/hadoop/mysql_stu_info文件中
在后面执行 LOAD DATA INPATH 'hdfs://emr-cluster/user/hadoop/mysql_stu_info' OVERWRITE INTO TABLE `default.mysql_stu_info` PARTITION (ymday='20190329')
这里就需要注意同表不同库的冲突问题了
sqoop mysql2hive的更多相关文章
- 用Sqoop进行Hive和MySQL之间的数据互导
Hive导数据入MySQL 创建mysql表 use anticheat; create table anticheat_blacklist( userid varchar(30) primary k ...
- Sqoop介绍、安装与操作
搭建环境 部署节点操作系统为CentOS,防火墙和SElinux禁用,创建了一个shiyanlou用户并在系统根目录下创建/app目录,用于存放 Hadoop等组件运行包.因为该目录用于安装hadoo ...
- sqoop:Failed to download file from http://hdp01:8080/resources//oracle-jdbc-driver.jar due to HTTP error: HTTP Error 404: Not Found
环境:ambari2.3,centos7,sqoop1.4.6 问题描述:通过ambari安装了sqoop,又添加了oracle驱动配置,如下: 保存配置后,重启sqoop报错:http://hdp0 ...
- 安装sqoop
安装sqoop 1.默认已经安装好java+hadoop 2.下载对应hadoop版本的sqoop版本 3.解压安装包 tar zxvf sqoop-1.4.6.bin__hadoop-2.0.4-a ...
- Hadoop学习笔记—18.Sqoop框架学习
一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据移植过去并不容易.Apache Sqoop正在加 ...
- Oozie分布式任务的工作流——Sqoop篇
Sqoop的使用应该是Oozie里面最常用的了,因为很多BI数据分析都是基于业务数据库来做的,因此需要把mysql或者oracle的数据导入到hdfs中再利用mapreduce或者spark进行ETL ...
- [大数据之Sqoop] —— Sqoop初探
Sqoop是一款用于把关系型数据库中的数据导入到hdfs中或者hive中的工具,当然也支持把数据从hdfs或者hive导入到关系型数据库中. Sqoop也是基于Mapreduce来做的数据导入. 关于 ...
- [大数据之Sqoop] —— 什么是Sqoop?
介绍 sqoop是一款用于hadoop和关系型数据库之间数据导入导出的工具.你可以通过sqoop把数据从数据库(比如mysql,oracle)导入到hdfs中:也可以把数据从hdfs中导出到关系型数据 ...
- Sqoop切分数据的思想概况
Sqoop通过--split-by指定切分的字段,--m设置mapper的数量.通过这两个参数分解生成m个where子句,进行分段查询.因此sqoop的split可以理解为where子句的切分. 第一 ...
- sqoop数据导出导入命令
1. 将mysql中的数据导入到hive中 sqoop import --connect jdbc:mysql://localhost:3306/sqoop --direct --username r ...
随机推荐
- Android悬浮窗全屏不获取焦点但是可以漏出软键盘的办法
addFlags( WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);的作用是在不获取焦点的时候显示软键盘. 接触这个标记 getWindow().c ...
- ionic4 可能忽略的一些细节
1.iOS中,页面被状态栏遮挡的问题 有的说 具体是解决是 在config.xml 配置如下代码 <preference name="StatusBarStyle" ...
- leetcode 30. 串联所有单词的子串 【时间击败 90.28%】 【内存击败 97.44%】
这道题让我从早做到晚-3--- 设len=words[0].length(). 一开始我按照words的顺序扩大区间,发现这样就依赖words的顺序.之后改成遍历s的所有长度为len*words.le ...
- Nodejs杀死本地应用(win)
windows端nodejs检查应用运行并杀死. import {exec, execSync} from "child_process" import {decode} from ...
- Property or method "scope" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components
报错如下 属性或方法"范围"不是在实例上定义的,而是在呈现期间引用的. 通过初始化属性,确保此属性是反应性的,无论是在数据选项中,还是对于基于类的组件. 原因在template中未 ...
- fastlane iOS打包 安装与使用
1.安装 fastlane sudo gem install fastlane 2.进入工程目录下 终端输入 fastlane init 接着输入3 然后control + c退出 接着编写 Fast ...
- 雪花算法生成id长度过长处理
思路:将Long类型转成字符串 代码实现: import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import org.s ...
- minio对象存储集群安装
环境:centos7.6 .两台服务器部署4个节点集群 minio简介: MinIO 是一个基于Apache License v2.0开源协议的对象存储服务.它兼容亚马逊S3云存储服务接口,非常适合于 ...
- 使用vue3对数据进行分页展示
要获取用户的滚动位置,可以在末尾添加一列空白节点.每当出现空白时意味着滑倒网页最底部,则进行渲染数据.可以使用getBoundingClientRect来判断是否在页面底部. getBoundingC ...
- 绕过登录的Cookie
1.先通过代码把登录前后的cookie打印出来,代码如下: #登录之前打印Cookiecks = driver.get_cookie() for ck in cks: print(ck) # 睡10秒 ...