sqoop import and export

2024-08-28 09:58
文章标签 import export sqoop

本文主要是介绍sqoop import and export,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

[b]import:[/b]

sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password   sqoop --table cities


--connect:指定JDBC URL
--username/password:mysql数据库的用户名
--table:要读取的数据库表

sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password   sqoop --table cities --target-dir /etc/input/cities


--target-dir:指定数据导出后的目录,这样指定的目录只是一次会话的

sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password sqoop --table cities --warehouse-dir /etl/input/

--warehouse-dir:指定数据导出后的目录,会根据表名来自动生成/etl/input/cities,只需要一次指定,后面的每次导出都是在此目录下,以表名命名的。

sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password   sqoop --table cities --where ''country='usa'''


--where:指定导出部分数据的条件

sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --table cities -P


-p:动态的数据密码,安全

sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --table cities --password-file my-sqoop-password


--password-file:指定密码文件,安全

sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password   sqoop --table cities --as-sequencefile


--as-sequencefile:指定导出的数据以sequencefile文件格式保存

sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password   sqoop --table cities --as-avrodatafile


--as-avrodatafile:指定导出的数据以avrodatafile文件格式保存

sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password   sqoop --table cities --num-mappers 10


--num-mappers 10:指定运行的map数据量

sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password   sqoop --table cities --null-string '\\N' --null-non-string '\\N'


--null-string '\\N' --null-non-string '\\N':指定mysql中的null在导出后以\n保存

sqoop import connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password   sqoop --table cities --incremental append --check-column id --last-value 1


--incremental append:指定导出新增的数据
--check-column id:指定导出针对新增的标准是id
--last-value 1:指定从id=1之后插入的数据


[b]export[/b]:

sqoop export -Dsqoop.export.records.per.statement=10 --connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password   sqoop --table cities --export-dir cities --batch


--batch:指导入是批量的导入
-Dsqoop.export.records.per.statement=10:指定批量导入一次的数据条数

sqoop export --connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password   sqoop --table cities --export-dir cities --staging-table staging_cities


--staging-table:指定导入时的零时表,只有当数据完全导入成功后,才会将数据导入到目标表中,如果中间出现失败则会将零时表中的数据删除,这样就保证了原子性,从而不会出现脏读

sqoop export --connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password   sqoop --table cities --export-dir cities --update-key id


--update-key:指定依据什么字段来更新表,即当id一样时,则就更新这条记录

sqoop export --connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password   sqoop --table cities --export-dir cities --update-key id --update-mode allowinsert


--update-key:指定依据什么字段来更新表,即当id一样时,则就更新这条记录
-update-mode allowinsert:指定除了可以更新数据之外,其余不相等的数据同样可以插入表中

sqoop export --connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password   sqoop --table cities --export-dir cities --columns country,city


--columns:指定要插入的列名


[b]sqoop与hive结合[/b]:

sqoop import --connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password   sqoop --table cities --hive-import


--hive-import:指定从hive中导出

[b]sqoop与hbase结合[/b]:

sqoop export --connect jdbc:mysql://mysql.example.com/sqoop --username sqoop --password   sqoop --table cities --hbase-table cities --column-family world


--hbase-table:指定hbase的表名
--column-family:指定hbase表的列族名

这篇关于sqoop import and export的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1114437

相关文章

ImportError: cannot import name ‘print_log‘ from ‘logging‘

mmcv升级到2.+后删除了很多 解决 查FAQ文档,找到 添加到mmcv.utils下即可

UserWarning: mkl-service package failed to import

安装完成anaconda,并设置了两个环境变量  之后再控制台运行python环境,输入import numpy as np,提示错误 D:\InstallFolder\Anaconda3\lib\site-packages\numpy\__init__.py:143: UserWarning: mkl-service package failed to import, therefore

The import com.google cannot be resolved

The import com.google cannot be resolved,报错: 第一感觉就是缺少jar包,因为项目用maven管理,所以在pom.xml中添加: <dependency>  <groupId>com.google.code.gson</groupId>  <artifactId>gson</artifactId>  <version>2.3.1</ver

关于 export HF_ENDPOINT=https://hf-mirror.com

# 使用 Hugging Face Hub 镜像:设置和应用场景 ## 引言 Hugging Face 是一个流行的机器学习模型托管平台,它提供了大量的预训练模型和易于使用的API。为了提高访问速度和降低延迟,Hugging Face 提供了镜像服务,用户可以通过设置环境变量 `HF_ENDPOINT` 来指定使用特定的镜像地址。本文将介绍如何设置 `HF_ENDPOINT` 环境变量,并探讨

【hadoop Sqoop】Sqoop从mysql导数据到hdfs

1.下载sqoop安装包 wget https://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/1.4.6/sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 2.解压安装包 tar -xzvf /sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 3.配置hadoop mv s

Vue3+vite中使用import.meta.glob

前言:         在vue2中支持require导入模块或文件但是在vue3中已经不支持require导入了,为此vite提供了一个全新的方法import.meta.glob方法来支持批量导入文件  import.meta.glob 匹配到的文件默认是懒加载的,通过动态导入实现,并会在构建时分离为独立的 chunk。如果你倾向于直接引入所有的模块(例如依赖于这些模块中的副作用首先被应用

Python 2.7 安装MySQLdb模块 import MySQLdb

python 2.7 使用 import MySQLdb 报 Traceback (most recent call last):File "<stdin>", line 1, in <module>ImportError: No module named MySqldb 于是乎执行一下命令 一下搞定 pip install MySQL-python 再次执行import MySQ

【硬刚Hive】Hive面试题(3):如何用sqoop将hive中分区表的分区字段导入到MySQL中

问题分析:  1.hive中分区表其底层就是HDFS中的多个目录下的单个文件,hive导出数据本质是将HDFS中的文件导出 2.hive中的分区表,因为分区字段(静态分区)不在文件中,所以在sqoop导出的时候,无法将分区字段进行直接导出 思路:在hive中创建一个临时表,将分区表复制过去后分区字段转换为普通字段,然后再用sqoop将tmp表导出即实现需求 步凑如下: 1.创建目标表(

【大数据Java基础-JAVA 面向对象11】关键字(二):package/import

1.1 使用说明: * 1.为了更好的实现项目中类的管理,提供包的概念 * 2.使用package声明类或接口所属的包,声明在源文件的首行 * 3.包,属于标识符,遵循标识符的命名规则、规范(xxxyyyzzz)、“见名知意” * 4.每"."一次,就代表一层文件目录。 1.2 举例: 举例一: 某航运软件系统包括:一组域对象、GUI和reports子系统 举例二:MVC设计模式

python circular import python循环导入问题

遇到的问题是因为模块之间存在循环导入(circular import),导致了ImportError。循环导入是指两个或多个模块相互导入对方,如模块A导入了模块B的方法,模块B又导入了模块A的方法,从而导致其中一个模块在完全初始化之前就被另一个模块尝试导入,进而引发错误。 解决循环导入问题的方法 重构代码结构: 尽量避免模块之间的直接相互导入。可以考虑将公共的部分抽象出来,放到单独的模块中。