使用 SQOOP 从 RDBMS 导入数据

     2023-04-17     175

关键词:

【中文标题】使用 SQOOP 从 RDBMS 导入数据【英文标题】:Importing data from RDBMS using SQOOP 【发布时间】:2016-07-12 10:36:14 【问题描述】:

我正在尝试将数据从 SQL 服务器数据库导入 Hive。基本上我将整个数据库(除了一些表)导入 Hive。在这里,我有一些我无法从任何地方得到答案的问题。

    我们能否将“--hive-import”与import-all-tables 和--exclude-tables 一起使用。 ?如果没有,一旦我将所有表加载到 hfds 中,如何使用创建外部表选项为所有表构建元数据? 我们可以在 sqoop 导入命令中的任何地方指定 hive 数据库名称吗? ?

谢谢。

【问题讨论】:

【参考方案1】:

关于您的问题。

    没有。 如 Apache 文档中所述:“--exclude-tables 参数仅适用于 +sqoop-import-all-tables”。请参阅以下来自 Apache 的文档(搜索报价)。 https://sqoop.apache.org/docs/1.4.4/SqoopUserGuide.html#_syntax。

2.是的。这是一个例子。

import-all-tables  --connect $connectString --username $username -- password $password  --hive-home /opt/hive  --hive-database $database -- verbose --hive-import --hive-drop-import-delims -m 1

【讨论】:

谢谢。那么在这种情况下,一旦我将表加载到 hdfs,如何为 hdfs 中已有的多个文件创建外部表? 我认为您可以将 import-all-tables 与“--exclude-tables”一起使用,指定“--hive-database”。所有表都将在 Hive 中自动创建。如果不使用“--hive-import”,则必须手动创建外部表。【参考方案2】:

要将数据从 RDBMS 导入外部配置单元表,您需要遵循

1)创建外部配置单元表。(必须创建所有表)。 2) 使用 Sqoop 导入数据。(这可以使用 shell 脚本来完成)

准备一个包含 DBNAME.TABLENAME 列表的输入文件。 shell脚本会以这个文件作为输入,逐行迭代并为每一行执行sqoop语句。

while read line;
do

    DBNAME=`echo $line | cut -d'.' -f1` 
    tableName=`echo $line | cut -d'.' -f2`


    sqoop import -Dmapreduce.job.queuename=$QUEUE_NAME --connect '$JDBC_URL;databaseName=$DBNAME;username=$USERNAME;password=$PASSWORD' --table $tableName  --target-dir $HIVE_EXTERNAL_TABLE_PATH/$tableName  --fields-terminated-by '\001'  -m 1 


done<inputFile

【讨论】:

使用 Sqoop 将数据从 RDBMS 导入 Hive 时,如何在命令行中指定 Hive 数据库名称?

】使用Sqoop将数据从RDBMS导入Hive时,如何在命令行中指定Hive数据库名称?【英文标题】:HowtospecifyHivedatabasenameincommandlinewhileimportingdatafromRDBMSintoHiveusingSqoop?【发布时间】:2013-01-2512:20:49【问题描述】:我需要将数据从RDBMS表导入... 查看详情

使用 SQOOP 和 FLUME 将数据从 RDBMS 移动到 Hadoop

】使用SQOOP和FLUME将数据从RDBMS移动到Hadoop【英文标题】:DatamovingfromRDBMStoHadoop,usingSQOOPandFLUME【发布时间】:2014-03-1803:41:23【问题描述】:我正在学习Hadoop,并且在将数据从关系数据库移动到Hadoop以及反之亦然的过程中遇到了一... 查看详情

在 sqoop 中从 RDBMS 导入选定的表

...个数据库中有1000个表,那么我只想导入500个表。我可以使用--exclude-tables,但我无法在命令行中输入所有500个表名来排除。请建议我,如何实现它?【问题讨论】 查看详情

在 RDBMS 中没有主键的 Sqoop 导入

...nRDBMS【发布时间】:2015-03-1906:34:01【问题描述】:我可以使用sqoop将RDBMS表数据(表没有主键)导入到hive吗?如果是的话,请给sqoop导入命令。我尝试过使用sqoopimportgeneral命令,但失败了。【问题讨论】:【参考方案1】:如果您... 查看详情

将 Blob 数据从 RDBMS (Sybase) 导入 Cassandra

...【发布时间】:2016-12-1109:00:49【问题描述】:我正在尝试使用DataStaxEnterprise(DSE)5.0将大型blob数据(大约10TB)从RDBMS(SybaseASE)导入Cassandra。sqoop在DSE5.0中仍然是推荐的方法吗?根 查看详情

我们如何使用 SQoop 对从 RDBMS 迁移到 HDFS 的数据进行测试?

】我们如何使用SQoop对从RDBMS迁移到HDFS的数据进行测试?【英文标题】:HowwedoTestingonmigrateddatafromRDBMStoHDFSusingSQoop?【发布时间】:2017-06-0601:21:21【问题描述】:测试人员如何测试数据是否从RDBMS移动到HDFS?请仅从测试角度解释。... 查看详情

如何在hadoop集群中使用sqoop将表从rdbms导入hive?

】如何在hadoop集群中使用sqoop将表从rdbms导入hive?【英文标题】:howtoimporttablefromrdbmstohiveusingsqoopinhadoopcluster?【发布时间】:2014-06-0209:11:56【问题描述】:我正在尝试使用hadoop集群中的SQOOP将表从RDBMS导入HIVE,我收到以下错误,... 查看详情

使用 sqoop 将表从 RDBMS 导入 HIVE 后约束是不是仍然存在?

】使用sqoop将表从RDBMS导入HIVE后约束是不是仍然存在?【英文标题】:WilltheconstraintsremainafterImportingtablefromRDBMStoHIVEwithsqoop?使用sqoop将表从RDBMS导入HIVE后约束是否仍然存在?【发布时间】:2019-03-1516:07:23【问题描述】:当我们使用... 查看详情

浅谈sqoop

...间的数据迁移,即从hadoop文件系统导出数据到RDBMS,从RDBMS导入数据到hadoophdfs,hive,hbase等数据存储系统。b.其实就是将sqoop命令转换成MR程序来完成数据的迁移。c.本质就是执行和计算,依赖于hdfs存储数据,把sql转换成程序。2.sqoop的... 查看详情

sqoop(代码片段)

....4验证Sqoop3.5测试Sqoop是否能够成功连接数据库4Sqoop的简单使用案例4.1导入数据4.1.1RDBMS到HDFS4.1.2RDBMS到Hive4.1.3RDBMS到Hbase4.2、导出数据4.2.1HIVE/HDFS到RDBMS4.3脚本打包5Sqoop一些常用命 查看详情

sqoop(代码片段)

....4验证Sqoop3.5测试Sqoop是否能够成功连接数据库4Sqoop的简单使用案例4.1导入数据4.1.1RDBMS到HDFS4.1.2RDBMS到Hive4.1.3RDBMS到Hbase4.2、导出数据4.2.1HIVE/HDFS到RDBMS4.3脚本打包5Sqoop一些常用命 查看详情

sqoop(代码片段)

....4验证Sqoop3.5测试Sqoop是否能够成功连接数据库4Sqoop的简单使用案例4.1导入数据4.1.1RDBMS到HDFS4.1.2RDBMS到Hive4.1.3RDBMS到Hbase4.2、导出数据4.2.1HIVE/HDFS到RDBMS4.3脚本打包5Sqoop一些常用命 查看详情

如何用sqoop查看oracle的表

...系型数据库和hive、hdfs,hbase之间数据的相互导入,可以使用全表导入和增量导入从RDBMS中抽取出的数据可以被MapReduce程序使用,也可以被类似Hive的工具使用;得到分析结果后sqoop可以将结果导回数据库,供其他客户端使用 查看详情

将 HBase 数据导出到 RDBMS

...eDatatoRDBMS【发布时间】:2012-01-0613:23:06【问题描述】:我使用HBase来存储数据,但后来为了满足我的要求,我想将数据从HBase导出到RDBM,如mysql或postgres。我知道我们有Sqoop作为选项,但它从MySQL导入并将其放入HBase,并将保存在HDF... 查看详情

sqoop的简单使用案例(代码片段)

Sqoop的简单使用案例导入数据在Sqoop中,“导入”概念指:从非大数据集群(RDBMS)向大数据集群(HDFS,HIVE,HBASE)中传输数据,叫做:导入,即使用import关键字。(1)RDBMS到HDFS&# 查看详情

sqoop的简单使用案例

...据集群(HDFS,HIVE,HBASE)中传输数据,叫做:导入,即使用import关键字。 1.1RDBMS到HDFS1)确定Mysql服务开启正常2)在Mysql中新建一张表并插入一些数据$mysql-uroot-prootcreatedatabasecompany;createtablecompany.staff(idint(4)primarykeynotnullauto_increme... 查看详情

Sqoop 导入具有 avro 格式的换行符的数据,然后使用 hive 查询

】Sqoop导入具有avro格式的换行符的数据,然后使用hive查询【英文标题】:SqoopImportofDatahavingnewlinecharacterinavroformatandthenqueryusinghive【发布时间】:2018-04-0608:54:53【问题描述】:我的要求是通过sqoop(1.4.6)以avro格式将数据从RDBMS加载... 查看详情

使用 Sqoop 将 RDBMS 更新到 HDFS

】使用Sqoop将RDBMS更新到HDFS【英文标题】:GettingRDBMSupdatesintoHDFSusingSqoop【发布时间】:2014-12-0406:44:54【问题描述】:我正在尝试编写一个sqoop作业以达到以下要求。我有一个XYZ表,其中每天可能会创建大约100万条新记录和50万条... 查看详情