oozie Sqoop 操作无法将数据导入到 hive

2024-03-02

我在执行 oozie sqoop 操作时遇到问题。 在日志中我可以看到 sqoop 能够将数据导入到临时目录,然后 sqoop 创建 hive 脚本来导入数据。

将临时数据导入配置单元时失败。

在日志中我没有收到任何异常。

下面是我正在使用的 sqoop 操作。

<workflow-app name="testSqoopLoadWorkflow" xmlns="uri:oozie:workflow:0.4">
<credentials>
    <credential name='hive_credentials' type='hcat'>
        <property>
            <name>hcat.metastore.uri</name>
            <value>${HIVE_THRIFT_URL}</value>
        </property>
        <property>
            <name>hcat.metastore.principal</name>
            <value>${KERBEROS_PRINCIPAL}</value>
        </property>
    </credential>
</credentials>
<start to="loadSqoopDataAction"/>
<action name="loadSqoopDataAction" cred="hive_credentials">
    <sqoop xmlns="uri:oozie:sqoop-action:0.2">
        <job-tracker>${jobTracker}</job-tracker>
        <name-node>${nameNode}</name-node>
             <job-xml>/tmp/hive-oozie-site.xml</job-xml>
        <configuration>
            <property>
                <name>oozie.hive.defaults</name>
                <value>/tmp/hive-oozie-site.xml</value>
            </property>
                  </configuration>
        <command>job --meta-connect ${SQOOP_METASTORE_URL} --exec TEST_SQOOP_LOAD_JOB</command>
    </sqoop>
    <ok to="end"/>
    <error to="kill"/>
</action>

下面是我用来导入数据的 sqoop 作业。

sqoop job --meta-connect ${SQOOP_METASTORE_URL} --create TEST_SQOOP_LOAD_JOB -- import --connect '${JDBC_URL}' --table testTable -m 1 --append --check-column pkId --incremental append --hive-import --hive-table testHiveTable;

在 mapred 日志中我收到以下异常。

72285 [main] INFO  org.apache.sqoop.hive.HiveImport  - Loading uploaded data into Hive
Intercepting System.exit(1)

<<< Invocation of Main class completed <<<

Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.SqoopMain], exit code [1]

Oozie Launcher failed, finishing Hadoop job gracefully


Oozie Launcher ends

请建议。


这似乎是一个典型的Sqoop 导入到 Hive http://ingest.tips/2014/11/27/how-to-oozie-sqoop-hive/工作。因此,Sqoop 似乎已成功将数据导入 HDFS,但无法将该数据加载到 Hive 中。

以下是所发生情况的一些背景信息... Oozie 启动一个单独的作业(它将在 hadoop 集群中的任何节点上执行)来运行 Sqoop 命令。 Sqoop 命令启动一个单独的作业将数据加载到 HDFS 中。然后,在 Sqoop 作业结束时,sqoop 运行 Hive 脚本以将该数据加载到 Hive 中。

由于理论上它是从 Hadoop 集群中的任何节点运行的,因此 hive CLI 需要在每个节点上可用并与同一个元存储进行通信。 Hive Metastore 将需要在远程模式下运行。

最常见的问题是 Sqoop 无法与正确的元存储对话。造成这种情况的主要原因通常有:

  1. Hive 元存储服务 http://www.cloudera.com/content/cloudera/en/documentation/cdh5/v5-0-0/CDH5-Installation-Guide/cdh5ig_hive_metastore_configure.html没有运行。它应该以远程模式运行,并且应该启动单独的服务。这是检查其是否正在运行的快速方法:

    服务配置单元元存储状态

  2. hive-site.xml不含hive.metastore.uris。这是一个例子hive-site.xml with hive.metastore.uris set:

    <configuration>
    ...
      <property>
        <name>hive.metastore.uris</name>
        <value>thrift://sqoop2.example.com:9083</value>
      </property>
    ...
    </configuration>
    
  3. hive-site.xml不包含在您的 Sqoop 操作(或其属性)中。尝试将您的 hive-site.xml 添加到<file>Sqoop 操作中的元素。这是一个示例工作流程.xml<file> in it:

    <workflow-app name="sqoop-to-hive" xmlns="uri:oozie:workflow:0.4">
        ...
        <action name="sqoop2hive">
            ...
            <sqoop xmlns="uri:oozie:sqoop-action:0.2">
                ...
                <file>/tmp/hive-site.xml#hive-site.xml</file>
            </sqoop>
            ...
        </action>
        ...
    </workflow-app>
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

oozie Sqoop 操作无法将数据导入到 hive 的相关文章

  • 将 hadoop fs 路径转换为 ​​EMR 上的 hdfs:// 路径

    我想知道如何将数据从 EMR 集群的 HDFS 文件系统移动到 S3 存储桶 我认识到我可以直接在 Spark 中写入 S3 但原则上 之后执行它也应该很简单 到目前为止 我还没有发现在实践中这是正确的 AWS 文档建议s3 dist cp
  • java.io.IOException:无法获取 LocationBlock 的块长度

    我正在使用 HDP 2 1 对于集群 我遇到了以下异常 并且 MapReduce 作业因此失败 实际上 我们定期使用 Flume 版本的数据创建表 1 4 我检查了映射器尝试读取的数据文件 但我找不到任何内容 2014 11 28 00 0
  • 在 Hive 中分解一行 XML 数据

    我们将 XML 数据作为名为 XML 的单个字符串列加载到 Hadoop 中 我们正在尝试检索数据级别 并将其标准化或分解为单行进行处理 你知道 就像表格一样 已经尝试过分解功能 但没有得到我们想要的 示例 XML
  • 在 Hadoop 中按文件中的值排序

    我有一个文件 其中每行包含一个字符串 然后是一个空格 然后是一个数字 例子 Line1 Word 2 Line2 Word1 8 Line3 Word2 1 我需要按降序对数字进行排序 然后将结果放入文件中 为数字分配排名 所以我的输出应该
  • AWS Athena 扁平化来自嵌套 JSON 源的数据

    我想从 Athena 中的嵌套 JSON 创建一个表 描述的解决方案here http docs aws amazon com athena latest ug json html使用 hive Openx JsonSerDe 等工具尝试在
  • Spark parquet 分区:大量文件

    我正在尝试利用 Spark 分区 我试图做类似的事情 data write partitionBy key parquet location 这里的问题是每个分区都会创建大量镶木地板文件 如果我尝试从根目录读取 则会导致读取速度变慢 为了避
  • 在 Hadoop 中处理带标头的文件

    我想在 Hadoop 中处理很多文件 每个文件都有一些头信息 后面跟着很多记录 每个记录都存储在固定数量的字节中 对此有何建议 我认为最好的解决方案是编写一个自定义的InputFormat http hadoop apache org co
  • hadoop2.2.0追加文件发生AlreadyBeingCreatedException

    我遇到了一个关于hadoop2 2 0追加操作的问题 我通过 HDFS java API 将一些字节附加到 hdfs 文件 首先 如果在附加操作之前文件不存在 我将创建目标文件 代码如下 String fileUri hdfs hadoop
  • Spark 上的 Hive 2.1.1 - 我应该使用哪个版本的 Spark

    我在跑蜂巢2 1 1 Ubuntu 16 04 上的 hadoop 2 7 3 根据Hive on Spark 入门 https cwiki apache org confluence display Hive Hive on Spark
  • hive查询无法通过jdbc生成结果集

    我是 Hive 和 Hadoop 的新手 在我的教程中 我想将表创建为 import java sql SQLException import java sql Connection import java sql ResultSet im
  • 计算行的排名

    我想根据一个字段对用户 ID 进行排名 对于相同的字段值 排名应该相同 该数据位于 Hive 表中 e g user value a 5 b 10 c 5 d 6 Rank a 1 c 1 d 3 b 4 我怎样才能做到这一点 可以使用ra
  • 通过 hive 访问 maxmind 的 GeoIP-country.mmdb 数据库时出现异常

    我有一个自定义 Hive UDF 来访问 MaxmindGeoIP 国家 mmdb通过 add file pqr mmdb 添加到 Hive 资源的数据库 编译好的 UDF 添加为 add jar abc jar 当我运行 hive 查询时
  • 当气流 initdb 时,导入错误:无法导入名称 HiveOperator

    我最近安装了airflow对于我的工作流程 在创建项目时 我执行了以下命令 airflow initdb 返回以下错误 2016 08 15 11 17 00 314 init py 36 INFO Using executor Seque
  • Namenode高可用客户端请求

    谁能告诉我 如果我使用java应用程序请求一些文件上传 下载操作到带有Namenode HA设置的HDFS 这个请求首先去哪里 我的意思是客户端如何知道哪个名称节点处于活动状态 如果您提供一些工作流程类型图或详细解释请求步骤 从开始到结束
  • hive创建表的多个转义字符

    我正在尝试将带有管道分隔符的 csv 加载到配置单元外部表 数据值包含单引号 双引号 括号等 使用 Open CSV 版本 2 3 测试文件 csv id name phone 1 Rahul 123 2 Kumar s 456 3 Nee
  • 获取行 HBase 的特定列族中的列

    我正在编写一个应用程序 通过 JSP 显示 HBase 中特定表中的数据 我想获取一行的特定列族中的所有列 有什么办法可以做到这一点吗 public String getColumnsInColumnFamily Result r Stri
  • 在 Amazon EMR 上使用 java 中的 hbase 时遇到问题

    因此 我尝试使用作为 MapReduce 步骤启动的自定义 jar 来查询 Amazon ec2 上的 hbase 集群 我的 jar 在地图函数内 我这样调用 Hbase public void map Text key BytesWri
  • jq Streaming - 过滤嵌套列表并保留全局结构

    在一个大型 json 文件中 我想从嵌套列表中删除一些元素 但保留文档的整体结构 我的示例将其输入为 但真实的输入足够大以要求流式传输 keep untouched keep this this list filter this keep
  • 猪参考

    我正在学习 Hadoop Pig 并且我总是坚持引用元素 请查找下面的示例 groupwordcount group chararray words bag of tokenTuples from line token chararray
  • 在 HIVE 中,使用 COALESCE 将 Null 值替换为相同的列值

    我想用同一列中的值替换特定列的空值我想得到结果 我在下面尝试过 select d day COALESCE val LAST VALUE val TRUE OVER ORDER BY d day ROWS BETWEEN UNBOUNDED

随机推荐

  • OpenGL ES 2.0 中的光线拾取

    我正在尝试在 OpenGL ES 2 0 中实现光线拾取以确定是否已单击对象 到目前为止 我只是想检查是否已按下特定的三角形 我使用这个网站作为动力http android raypick blogspot ca 2012 04 first
  • CodeIgniter 仅允许在登录时访问某些控制器

    我有一些 CodeIgniter 控制器 只能由已登录的用户访问 即 this gt session gt userdata username 不为空 如果未经身份验证的人尝试访问所述控制器 他们应该收到 header location a
  • chromedriver:ubuntu 14.04 64 位上缺少各种 lib 依赖项

    所以我尝试运行从下载的 chromedriver 2 20 wget http chromedriver storage googleapis com 2 20 chromedriver linux64 zip 在我的 ubuntu 14
  • 如何向 UILabel 添加填充? [复制]

    这个问题在这里已经有答案了 UILabel 内的文本与左边框和右边框相冲突 有没有办法向 UILabel 添加一些内部填充 以便文本不会如此紧密地接触内部边框 只需调整标签的位置 我不知道任何其他方法 尽管其他人可能会 如果您对背景颜色有疑
  • OpenXML:Excel 中自动调整列宽

    我已经编写了使用 OpenXML 生成 Excel 文件的代码 下面是在 Excel 中生成列的代码 Worksheet worksheet new Worksheet Columns columns new Columns int num
  • HistoryRecord 的活动空闲超时?

    W ActivityManager 81 Launch timeout has expired giving up wake lock W ActivityManager 81 Activity idle timeout for Histo
  • log4j:记录包,但不包括其子包

    您好 我想排除某些子包被我的一个记录器记录 因为它们正在被另一个记录器记录 例如 com mysite app logger1 com mysite app news logger2 com mysite app events logger
  • 如何使用 ASP.NET MVC 将字典绑定到一组复选框?

    我的需要是 绑定 Dictionary
  • Maven 的 Jersey 问题 - Shade 插件

    我的问题非常类似于 仅当依赖项组装到单个 jar 中时才会抛出 Jersey 异常 https stackoverflow com questions 12611213 jersey exception only thrown when d
  • 过滤R中所有列包含相同数据的行

    我有一个数据集 要求每个参与者回答一系列问题 有些人对每个问题都给出了相同的回答 我想丢弃这些参与者的数据 但不知道如何去做 我的意思是我可以尝试过滤 区分 但我遇到的问题是大约有 100 个问题 所以 100 列 我不确定使 R 过滤所有
  • 使用PHP 5.5的password_hash和password_verify函数

    假设我想存储用户的密码 这是否是使用 PHP 5 5 的正确方法password hash 函数 或 PHP 5 3 7 的此版本 https github com ircmaxell password compat https githu
  • 我在 Visual Studio 2010 中找不到从工具菜单生成本地资源

    我在网页的设计视图 标记 中 我在工具菜单中找不到 生成本地资源 谁能告诉我如何启用这个工具 查看 aspx 或 ascx 文件时 确保您正在查看 设计 或 拆分 选项卡 而不是 源 选项卡 此外 这篇文章可能会有所帮助 其中部分指出 如果
  • C# 中的 'volatile' 关键字仍然被破坏吗?

    乔 阿尔巴哈里有一个很棒的系列 http www albahari com threading 关于多线程 这是必读的内容 对于任何从事 C 多线程处理的人来说都应该牢记于心 然而 在第 4 部分中 他提到了 volatile 的问题 请注
  • 获取用户信息 Google-PHP-Client 问题?

    首先 我只想说我需要从用户那里获取哪些信息 全名 名字 姓氏 电子邮件地址 主帐户 而不是 google plus com 位置 国家 州 城市 地址 Youtube 用户名 为了获取所有这些信息 我继续下载 安装位于以下位置的 PHP 客
  • 如何创建静态链接共享库

    在我的硕士论文中 我尝试为 ARM Cortex M3 嵌入式系统采用共享库方法 由于我们的目标板没有 MMU 我认为使用 普通 动态共享库是没有意义的 因为 text 是直接从闪存执行的 而 data 在启动时被复制到 RAM 所以我无法
  • MinGW 调试模式下 Qt 应用程序启动缓慢

    我在 Win 7 上使用 Qt Creator 3 1 1 和 Qt 5 3 如果设置了 2 个套件 VC2013 和 MinGW 4 8 1 我的应用程序可以编译 并且可以与两个编译器一起使用 但是当我以 MinGW gdb 调试模式启动
  • 如何使用 sklearn Pipeline 转换项目?

    我有一个简单的 scikit learnPipeline共两个步骤 aTfIdfVectorizer随后是一个LinearSVC 我已经使用我的数据拟合了管道 都好 现在我想使用我的拟合来转换 而不是预测 一个项目pipeline I tr
  • 为 git log 这样的两个字命令创建别名?

    有时我有两个词的命令 例如git log or apt get install我想添加一个默认参数 例如 大多数时候我想添加 abbrev commit参数给我的git log 以及 y参数为apt get install git log
  • 如何动态地将 标签附加到

    标签的特定位置?

    本质上 我正在尝试实现一个在选择时突出显示某些文本的功能 这仅适用于 Google Chrome 浏览器 例如 选型前 p sample text p 从 示例文本 中选择 文本 后 p sample span class state hi
  • oozie Sqoop 操作无法将数据导入到 hive

    我在执行 oozie sqoop 操作时遇到问题 在日志中我可以看到 sqoop 能够将数据导入到临时目录 然后 sqoop 创建 hive 脚本来导入数据 将临时数据导入配置单元时失败 在日志中我没有收到任何异常 下面是我正在使用的 sq