使用 sqoop 导入 Hive 时出现文件存在错误

2023-12-13

我正在尝试将 Retail_db 数据库表复制到我已经创建的 Hive 数据库中。当我执行以下代码时

sqoop import-all-tables \
--num-mappers 1 \
--connect "jdbc:mysql://quickstart.cloudera:3306/retail_db" \
--username=retail_dba \
--password=cloudera \
--hive-import \
--hive-overwrite \
--create-hive-table \
--outdir java_files \
--hive-database retail_stage

我的 Map-reduce 作业因以下错误而停止:

错误工具.ImportAllTablesTool:运行导入时遇到 IOException 作业:org.apache.hadoop.mapred.FileAlreadyExistsException:输出 目录 hdfs://quickstart.cloudera:8020/user/cloudera/categories 已经存在

我正在尝试将表复制到 hive 数据库,那么为什么 cloudera 中的现有文件会导致问题。有没有办法忽略此错误或覆盖现有文件。


就是这样sqoop进口工作作品:

  • sqoop创建/导入数据tmp dir(HDFS)这是用户的主目录(在你的情况下是/user/cloudera).

  • 然后将数据复制到其实际的配置单元位置(即/user/hive/wearhouse.

  • This categories在运行 import 语句之前 dir 应该已经存在。因此,删除该目录或重命名它(如果它很重要)。

hadoop fs -rmr /user/cloudera/categories

OR

hadoop fs -mv /user/cloudera/categories /user/cloudera/categories_1

并重新运行 sqoop 命令!

简而言之,导入到Hive将使用 hdfs 作为暂存位置,而 sqoop 删除暂存目录/user/cloudera/categories复制(成功)到实际的 hdfs 位置后 - 这是 sqoop 作业的最后阶段清理 staging/tmp 文件 - 所以如果你尝试列出 tmp staging 目录,你将找不到它。

导入成功后:hadoop fs -ls /user/cloudera/categories- dir 不会在那里。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 sqoop 导入 Hive 时出现文件存在错误 的相关文章

随机推荐

  • “关闭”流?

    我正在从 java 读取文本BufferedReader像这样 Stream continually reader readLine takeWhile case null gt reader close false case gt tru
  • 修剪 NSString 末尾的空格

    我需要删除字符串末尾的空格 我怎样才能做到这一点 示例 如果字符串是 Hello 它必须成为 Hello 摘自这里的答案 https stackoverflow com a 5691567 251012 NSString stringByT
  • 如何使用两列上的 WHERE 子句加速 MySQL 查询?

    我试图通过两列上的 WHERE 子句来加速对大型表的查询 据我所知 MySQL 仅使用 ALERT ID 列 有没有办法使用两个索引重写此查询 SHOW INDEX 和 EXPLAIN 输出如下 show index from alert
  • nvarchar 连接/索引/nvarchar(max) 莫名其妙的行为

    今天我在 SQL Server 2008R2 和 2012 中遇到了一个非常奇怪的问题 我正在尝试使用串联和结合来构建一个字符串select陈述 我发现生成的字符串仅包含一个输入字符串 不是我所期望的所有输入字符串的串联结果 我已经找到了解
  • Fabric Crashlytics - 聚合来自不同项目的数据

    我有几个自定义的应用程序 它们具有不同的包名称 捆绑 ID 崩溃数据将被发送到 Fabric Crashlytics 仪表板中的不同应用程序 我猜它们有不同的包名称 即使崩溃数据相同 相同类型 相同异常 我的问题是 这可能吗 或者有没有办法
  • 调用退出后无法将握手入队

    我已经实现了以下代码 module exports getDataFromUserGps function callback connection connect connection query SELECT FROM usergps f
  • 自托管 WCF 服务器 - 从文件而不是证书存储加载证书

    我目前正在使用 wcf 服务器 并且希望从文件 资源 而不是证书存储加载我的证书 以使部署更容易 有什么想法如何做到这一点 感谢您的帮助 假设您使用双工通道 您可以从文件加载证书 如下所示 Load certificate file wit
  • 只获取数组的唯一值

    我是 javascript 的新手 我尝试使用不同的 但它不是我想要的 示例数组 let arr key 1 value dog key 1 value dog key 2 value cat key 3 value bird key 3
  • libgdx 剪切图像

    一段时间以来我一直在尝试 剪切 图像 我将解释为什么以及我尝试了什么 所以我想创建一个马力 条 只不过它不是条 而是一颗心 所以我认为这很容易 我所要做的就是让两张图片将它们画在彼此的顶部 然后只剪一张就可以了看起来好像 HP 正在丢失 但
  • 为什么我不能在 write-host 中使用 $_ ?

    我正在尝试将字符串数组通过管道传输到 write host 并显式使用 编写这些字符串 foo bar baz write host 但是 它失败了 输入对象无法绑定到命令的任何参数 因为该命令不采用管道输入 或者输入及其属性与采用管道输入
  • 如何向 FeathersJS 套接字连接添加参数

    我正在开发一个使用 FeathersJS 服务器的应用程序 以及一个使用 FeathersJS Socket io 客户端连接到服务器的 Electron 应用程序 我想使用 Electron 应用程序中的通道在服务器中的某些数据发生更改时
  • 将 python 中的数据框重塑为 3D

    我正在尝试将手写字符数据集重塑为 3D 形式 以便它可以与数字识别数据集连接起来 我尝试了多次 但我不知道如何做到这一点 实际的数字识别数据集的形状为 60000 28 28 字符识别数据集的形状为 372450 785 第一列是目标变量
  • 在 C++ 中从 YUV 转换为 RGB (android-ndk)

    我在 android 中开发 想要将相机的预览回调中的字节数组 YUV 格式 转换为 rgb 格式 我已经使用了这个答案中给出的函数 在Android中从视频图像获取帧 它在java中完美运行 但我的问题是我想在c 中创建该函数 我正在使用
  • mechanize (python) 单击 javascript 类型链接

    是否可以让 mechanize 跟随 javascript 类型的锚链接 我正在尝试使用 mechanize 和 beautifulsoup 登录 python 网站 这是锚链接 a href a
  • 如何在基于 Spring Java 的配置中放置带有正则表达式的 URL

    在 Spring Security XML 配置文件中 我有类似的内容
  • SQLite条件

    我只想将这个函数查询从navicat转换为sqlite查询 Select from tbl sample where ID 1 And IF RECEIPT MODE MANUAL DATE a MANUAL COLLECTION DATE
  • Karate API - 为什么响应不返回调用的功能文件

    我通过传递 un pwd 和端点 url 从后台标签下的另一个功能调用登录功能 如下所示 登录功能已成功运行 但其响应未返回到调用的功能文件 Add Feature Adding products Background table logi
  • java.util.date 错误?

    java util Date 是否有错误 在进行一些测试时 我将毫秒设置为 2147483647 应该给我一个日期 2038 01 19 03 14 07 但它返回的是 1970 01 25 20 31 23 还尝试了 4294967295
  • 不同环境下不同DB名的跨库查询?

    您将如何在不同环境中处理跨数据库查询 例如 db1 development 和 db2 development db1 product 和 db2 product 如果我想在开发过程中执行从 db2 到 db1 的跨数据库查询 我可以使用完
  • 使用 sqoop 导入 Hive 时出现文件存在错误

    我正在尝试将 Retail db 数据库表复制到我已经创建的 Hive 数据库中 当我执行以下代码时 sqoop import all tables num mappers 1 connect jdbc mysql quickstart c