使用 Sqoop 将视图(数据库表重)从 Oracle 迁移到 Hive

     2023-04-15     218

关键词:

【中文标题】使用 Sqoop 将视图(数据库表重)从 Oracle 迁移到 Hive【英文标题】:Using Sqoop to migrate views (database tables heavy) from Oracle to Hive 【发布时间】:2017-05-24 10:42:29 【问题描述】:

我是大数据的初学者,我们正在使用 sqoop 和 Cloudera 管理将视图从 Oracle 迁移到 Hive,我们正在使用的命令示例:

sqoop import -D mapred.child.java.opts="\-Djava.security.egd=file:/my_url" \ 
  -D mapreduce.map.memory.mb=9192 -D mapreduce.map.java.opts=-Xmx4096m \
  --connect jdbc:oracle:thin:@//my_url --username "my_user" \
  --password "my_password" --table my_view_name --compress \
  --compression-codec=snappy --as-parquetfile \
  --create-hive-table --hive-database my_db_name \
  --hive-table our_table_anme --hive-import \
  -m 8 --hive-overwrite \
  --map-column-java column_name=String,column_name=String,column_name=String,column_name=Float --split-by cloumn_name

到目前为止进展顺利,有些大板有点慢。

问题:我们必须迁移更大表的视图,这会导致问题,我们认为 hive 无法承受负载。

对加载此信息有何建议?

注意:我们想到了只复制表然后尝试构建视图的选项,但是视图对表属性进行了复杂的修改和繁重的计算,在我们的例子中,在 impala 中创建这个非常复杂。

【问题讨论】:

HDFS 上创建视图是一种开销。我们还将整个视图作为表导入 Hive。可用于提高性能的优化技术很少。 【参考方案1】:

加载非常大的表的模板:使用查询而不是带有where子句加载分区的表 +使用拆分列(尝试找到一些整数均匀分布的列)。并行或顺序运行 sqoop 以加载不同的分区。理想情况下,如果谓词下推将根据您的 where 子句在 Oracle 中工作。如果不是,并且 Oracle 方面是一个瓶颈,那么使用相同的技术分别加载表:where + split,然后使用额外的 Hive 进程实现您的视图。

【讨论】:

谢谢,事实上我们已经在使用--split-by,我很抱歉我在我给出的例子中错误地省略了它。 是的,我明白了。没有拆分列和 -​​m 应该是例外

使用 sqoop 将数据从 oracle 导入到 hdfs

】使用sqoop将数据从oracle导入到hdfs【英文标题】:dataimportfromoracletohdfswithsqoop【发布时间】:2016-06-2714:03:42【问题描述】:您好,我在尝试使用sqoop将数据从Oracle导入HDFS时遇到以下错误。使用的命令-sqoopimport--connectjdbc:oracle:thin:sy... 查看详情

使用 sqoop 将数据从 Teradata 迁移到 Hive

】使用sqoop将数据从Teradata迁移到Hive【英文标题】:DataMigrationformTeradatatoHiveusingsqoop【发布时间】:2018-02-1309:12:10【问题描述】:我正在尝试使用sqoop将数据从teradata迁移到hive,但在teradata表中有一些字段具有图形和vargraphic等数据... 查看详情

无法使用 Sqoop 将数据从 Vertica 导入 Cassandra

】无法使用Sqoop将数据从Vertica导入Cassandra【英文标题】:UnabletoimportdatafromVerticatoCassandrausingSqoop【发布时间】:2014-10-3014:53:49【问题描述】:我正在尝试使用Sqoop将表从Vertica导入DataStaxEnterprise4.5。没有报错也没有异常,但是目标... 查看详情

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

...:23【问题描述】:我正在学习Hadoop,并且在将数据从关系数据库移动到Hadoop以及反之亦然的过程中遇到了一些概念。我已经使用SQOOP导入查询将文件从MySQL传输到HDFS。我传输的文件是结构化数据集,而不是任何服务 查看详情

使用 talend 或 sqoop 将数据从 hbase 导入 hdfs

】使用talend或sqoop将数据从hbase导入hdfs【英文标题】:importdatafromhbasetohdfsusingtalendorsqoop【发布时间】:2017-01-1612:05:55【问题描述】:是否可以使用Talend或sqoop将数据从hbase导出到hdfs?如果它不是直接可用的,那么实现这种用例的... 查看详情

使用 Sqoop 将数据从 teradata 导入 Hive

】使用Sqoop将数据从teradata导入Hive【英文标题】:UsingSqooptoimportdatafromteradatatoHive【发布时间】:2016-03-1713:27:57【问题描述】:我必须提取teradata中的表架构,但我没有这些表的权限。是否可以在没有选择访问权限的情况下通过sqoo... 查看详情

使用 sqoop 将数据从 CSV 导入 Avro 表的命令

】使用sqoop将数据从CSV导入Avro表的命令【英文标题】:CommandtoimportdatafromCSVtoAvrotableusingsqoop【发布时间】:2019-04-0912:47:45【问题描述】:我的HDFS上有一个名为test.csv的csv文件。我使用Hue创建了一个Avro表(avro_test),其列名与csv文件... 查看详情

使用 SQOOP 从 RDBMS 导入数据

...6-07-1210:36:14【问题描述】:我正在尝试将数据从SQL服务器数据库导入Hive。基本上我将整个数据库(除了一些表)导入Hive。在这里,我有一些我无法从任何地方得到答案的问题。我们能否将“--hive-import”与import-all-tables和--exclude-... 查看详情

如何使用 Sqoop 从 RDBMS 将数据导入本地文件系统,而不是 HDFS?

...014-11-1918:42:35【问题描述】:我看到Sqoop允许将数据从RDBMS数据库导入HDFS。但是,我想将数据导入Linux中的本地文件系统文件夹,而不是导入HDFS文件系统。有没有办法做到这一点?【问 查看详情

我可以使用 Sqoop 将数据从 SQL Server 导入 Azure Blob 存储吗

...否可以使用Sqoop实用程序以.parquet文件格式将表从SQLServer数据库导入AzureBlob存储?sqoop是否接受目标作为wasb(s)://协议以指向A 查看详情

使用 Sqoop 将数据从 MS-SQL 服务器写入 HDFS

】使用Sqoop将数据从MS-SQL服务器写入HDFS【英文标题】:WrtingDatafromMS-SQLservertoHDFSusingSqoop【发布时间】:2014-02-0612:04:32【问题描述】:我正在使用talendopenstudio,我的工作包括sqoop和hdfsoutput。我正在尝试使用sqoop将数据从ms-SQL服务器... 查看详情

使用 Oozie 和 Sqoop 将数据从 HiveQL 导出到 MySQL

...在Hive中有一个表(定期更新),我想在我的一个具有MySQL数据库的工具中拥有它。我不能只将我的应用程序连接到Hive数据库,所以我想将这些数据直接导出到MySQL数据库中。我搜索了一下,发现使用Sqo 查看详情

使用 sqoop 将数据从 Oracle(Windows) 导入 HDFS (CDH3) 机器

】使用sqoop将数据从Oracle(Windows)导入HDFS(CDH3)机器【英文标题】:ImportdatafromOracle(Windows)toHDFS(CDH3)machineusingsqoop【发布时间】:2016-04-1105:58:48【问题描述】:您好,我正在HADOOP接受培训。我有一个任务,我必须使用sqoop将表数据从ora... 查看详情

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

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

我们可以使用 sqoop 将数据从 Hadoop (Hive) 导出到 Amazon Redshift

】我们可以使用sqoop将数据从Hadoop(Hive)导出到AmazonRedshift【英文标题】:CanweusesqooptoexportdatafromHadoop(Hive)toAmazonRedshift【发布时间】:2016-09-2303:52:42【问题描述】:我有一个本地Hadoop集群,想将数据加载到AmazonRedshift。考虑到成本,... 查看详情

使用 Apache Sqoop 将数据从 Mongo/Cassandra 导出到 HDFS

】使用ApacheSqoop将数据从Mongo/Cassandra导出到HDFS【英文标题】:ExportingdatafromMongo/CassandratoHDFSusingApacheSqoop【发布时间】:2014-08-2320:06:21【问题描述】:我有一个问题,我必须通过Hive从多个数据源(即RDBMS(MYSQL,Oracle)和NOSQL(Mongo... 查看详情

在 Cloudera 中使用 sqoop 将数据从 HDFS 导出到 mysql 时作业失败

】在Cloudera中使用sqoop将数据从HDFS导出到mysql时作业失败【英文标题】:JobfailsonexportingdatafromHDFStomysqlusingsqoopinCloudera【发布时间】:2018-06-1017:59:20【问题描述】:我正在导出HDFS位置/user/training/sqoop_import/departments_export目录中的部... 查看详情

使用 Sqoop 将来自 MySQL 的数据加载到 PIG

】使用Sqoop将来自MySQL的数据加载到PIG【英文标题】:LoaddatacomingfromMySQLintoPIGusingSqoop【发布时间】:2017-05-0920:02:08【问题描述】:我正在尝试使用Sqoop和PIG,所以我看到的几乎所有文档都说Sqoop用于从MySQL获取数据并将其放入HDFS存... 查看详情