使用 OpenCSVSerde 时,hive 无法读取字符斜杠

2023-11-30

我在 hdfs 中的文件顶部定义了一个表。我正在使用 OpenCSV Serde 从文件中读取。但是,数据中的“\”斜杠字符在最终结果集中被省略。

是否有我没有正确使用的 hive serde 属性。根据文档, escapeChar = '\' 应该可以解决这个问题。但是,问题仍然存在。

   CREATE EXTERNAL TABLE `tsr`(
    `last_update_user` string COMMENT 'from deserializer',
    `last_update_datetime` string COMMENT 'from deserializer')
    ROW FORMAT SERDE
    'org.apache.hadoop.hive.serde2.OpenCSVSerde'
    WITH SERDEPROPERTIES (
    'escapeChar'='\',
    'quoteChar'='\"',
    'separatorChar'=',',
    'serialization.encoding'='UTF-8')
    STORED AS INPUTFORMAT
    'org.apache.hadoop.mapred.TextInputFormat'
    OUTPUTFORMAT
    'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
    LOCATION
    'hdfs://edl/hive/db/tsr'
    TBLPROPERTIES (
    'COLUMN_STATS_ACCURATE'='{\"BASIC_STATS\":\"true\"}',
    'numFiles'='1',
    'numRows'='1869',
    'rawDataSize'='0',
    'serialization.null.format'='',
    'totalSize'='144640',
    'transient_lastDdlTime'='1524479930')

示例输出:

DomainUser1 , 2017-07-04 19:07:27

预期结果:

Domain\User1 , 2017-07-04 19:07:27

编辑1:我都尝试过'\\' and '\'作为 escapeChar 并且都有同样的问题


不幸的是,Hive 中的 csv serde 不支持多个字符作为分隔符/引号/转义符,看起来您想使用 2 个 backlslahes 作为 escapeChar (这是不可能的)考虑到OpenCSVSerde只支持单个字符作为转义(实际上它是使用CSV阅读器仅支持一个)。我不知道任何其他支持 Hive 中多个字符的 SerDe,您始终可以使用其他库实现您自己的 udf,而不是最流行的选项(没有人想支持自己的东西:))。我建议使用不同的字符作为转义字符,希望您的数据中不存在该字符。第二个选项是在摄取期间修改您的数据以替换\ by \\

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

使用 OpenCSVSerde 时,hive 无法读取字符斜杠 的相关文章

  • Hive 将字符串转换为字符数组

    例如 如何将字符串转换为字符数组 abcd gt a b c d 我知道分割方法 SELECT split abcd a b c d 最后一个空格有错误吗 或任何其他想法 这实际上不是一个错误 蜂巢分割功能 https github com
  • 使用 PIG 从 Hive 表解析嵌套 XML 字符串

    我正在尝试使用 PIG 从 Hive 表中的字段而不是从 XML 文件中提取一些 XML 这是我读过的大多数示例的假设 XML 来自排列如下的表 ID XML string XML 字符串包含 n 行 始终包含最多 10 个属性中的至少一个
  • 使用字符串分区键与整数分区键的 Hive/Impala 性能

    是否建议将数字列用作分区键 当我们对数字列分区和字符串列分区进行选择查询时 性能会有什么差异吗 好吧 如果你查阅 Impala 官方文档 就会有所不同 我不会详细说明 而是粘贴文档中的部分 因为我认为它说得很好 虽然使用 STRING 列作
  • java.lang.RuntimeException:无法实例化 org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

    我在 ubuntu 14 0 上安装了 Hadoop 2 7 1 和 apache hive 1 2 1 版本 为什么会出现这个错误 是否需要安装任何元存储 当我们在终端上输入 hive 命令时 xml 的内部是如何调用的 这些 xml 的
  • 如果行数超过 15,则向表中插入与打开行数相等的行数

    My table id sum type 1 3 1 1 6 1 1 6 2 1 3 1 1 3 1 1 6 1 These 1 3 1 是空行 类型始终为 1 总和可以不同 These 1 6 2 是封闭的行 输入 1 sum 空行的总和
  • Hive 函数替换列值中的逗号

    我有一个配置单元表 其中字符串列的值为 12 345 有没有什么方法可以在插入此配置单元表期间删除逗号的配置单元函数 您可以使用regexp replace string INITIAL STRING string PATTERN stri
  • 在 hive 中创建外部表时,我可以将位置指向目录中的特定文件吗?

    我这样定义了一个表 create external table PageViews Userid string Page View string partitioned by ds string row format as delimite
  • 如何将键值对加载到hive表中?

    以下是我的数据集 Jun name balaji id 101 Mar name kumar id 102 创建的表 create table sample month string name string id int row forma
  • hive 查询特定联合类型的记录

    我创建了一个示例配置单元表 CREATE TABLE union test foo UNIONTYPE
  • Presto/Athena 中嵌套日期分区的比较查询

    我将 parquet 数据存储在 S3 上 以 Hive 理解的格式进行分区 s3
  • Hive Full Outer Join为相同的Join Key返回多行

    我正在对同一列上的 4 个表进行完全外连接 我想为连接列中的每个不同值仅生成 1 行 输入是 employee1 employee1 personid employee1 name 111 aaa 222 bbb 333 ccc
  • Hive 分区表上的 Spark 行为

    我用的是 Spark 2 实际上我不是执行查询的人 所以我不能包含查询计划 数据科学团队问过我这个问题 我们将 Hive 表划分为 2000 个分区并以 parquet 格式存储 当在 Spark 中使用相应的表时 执行器之间恰好执行了 2
  • 使用 Hive 自定义输入格式

    Update 好吧 事实证明以下不起作用的原因是因为我使用的是较新版本的InputFormat API import org apache hadoop mapred这是旧的与import org apache hadoop mapredu
  • 在 Hive 中获取空值 使用 REGEX 创建和加载查询

    我有一个日志文件 我需要在其中使用 REGEX 存储数据 我尝试了下面的查询 但加载了所有 NULL 值 我已经检查了 REGEXhttp www regexr com http www regexr com 它对我的 数据工作正常 CRE
  • Hive 中字符串数据类型是否有最大大小?

    谷歌了很多 但没有在任何地方找到它 或者这是否意味着只要允许集群 Hive 就可以支持任意大字符串数据类型 如果是这样 我在哪里可以找到我的集群可以支持的最大字符串数据类型大小 提前致谢 Hive 列表的当前文档STRING作为有效的数据类
  • 在 Hive 中分解一行 XML 数据

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

    我正在尝试从独立的 Spark 连接到 Hive hadoop 集群具有 kerberos 身份验证 有人可以让我知道如何在 Spark 程序中执行 kinit 我可以连接到配置单元吗 更新 我的 Spark 与 Hadoop 位于不同的集
  • hive查询无法通过jdbc生成结果集

    我是 Hive 和 Hadoop 的新手 在我的教程中 我想将表创建为 import java sql SQLException import java sql Connection import java sql ResultSet im
  • Hadoop:读取ORC文件并放入RDBMS中?

    我有一个以 ORC 文件格式存储的配置单元表 我想将数据导出到 Teradata 数据库 我研究了 sqoop 但找不到导出 ORC 文件的方法 有没有办法让 sqoop 为 ORC 工作 或者有什么其他工具可以用来导出数据 Thanks
  • 计算行的排名

    我想根据一个字段对用户 ID 进行排名 对于相同的字段值 排名应该相同 该数据位于 Hive 表中 e g user value a 5 b 10 c 5 d 6 Rank a 1 c 1 d 3 b 4 我怎样才能做到这一点 可以使用ra

随机推荐

  • 如何使用谷歌翻译翻译整个网站

    我目前正在使用以下内容来翻译网页 http translate google com about intl en ALL tour html professional 问题是 当我将 Google 网站上生成的代码片段放到我的网页上时 用户
  • 创建可能案例的简单方法

    我有数据列表 例如 a 1 2 3 4 b a b c d e c 001 002 003 我想创建另一个新的列表 该列表由 a b c 的所有可能情况混合而成 如下所示 d 1a001 1a002 1a003 4e003 是否有任何模块或
  • 是否总是需要条件注释?

    在创建了一些网络应用程序之后 我真的认为一段时间后处理条件注释就不那么有趣了 对于这个问题有什么计划吗 处理不同的浏览器会更复杂还是更容易 某种形式的功能嗅探总是需要的 但希望将来这可以更多地基于更良性的脚本化对象嗅探形式 从而实现渐进增强
  • 如何比较两个日期时间字符串并返回小时数差异? (bash外壳)

    我可以使用以下代码在 php 中做到这一点 dt1 2011 11 11 11 11 11 t1 strtotime dt1 dt2 date Y m d H 00 00 t2 strtotime dt2 tDiff t2 t1 hDiff
  • 禁用鼠标中键单击

    我需要您帮助解决一个问题 即如何禁用鼠标中键单击任何链接以在 IE 7 8 9 中打开新选项卡 我尝试过很多类似的事情 return false e cancelBubble true e returnValue false 但无法阻止 I
  • 当一个 @Controller 扩展另一个 @Controller 时,“发现不明确的映射”

    我有一个ImportAction类 用作多个特定于类型的导入控制器的父类 例如ImportClientsAction and ImportServicesAction ImportAction是一个带有注释的 Spring MVC Cont
  • 无法加载资源:服务器响应状态为 409

    自动 WordPress 更新后 插件表单 联系表单 7 现在在其下方显示斜杠 并且不再触发 wpcf7mailsent 侦听器事件 因此在提交表单后不再将其重定向到感谢页面 此错误 服务器响应状态为 409 或也称为 net ERR AB
  • 在加载包含超过 6000 个项目的列表时,ConstraintLayout 与 RecyclerVIew (ListAdapter) 似乎会使用大量内存(高达 1GB)

    我正在为我的应用程序构建一个简单的 FileExplorer 并使用协程获取给定路径中的文件 并在显示它们时 内存使用量出现峰值 我在帖子底部显示了探查器工具选项卡 我最好的猜测是 适配器正在为列表中的每个项目创建一个视图持有者 并且使用应
  • C 中的 Double For 循环语法

    我是 C 新手 必须编写一些模拟给定函数的代码 但是 我很难明确地理解这段代码中的第二个 for 循环正在做什么 该语法似乎不遵循以下循环语法的标准 for init condition increment statement s 这是我正
  • Pandas-通过对列和索引的值求和来合并两个数据帧

    我想按索引和列合并两个数据集 我想合并整个数据集 df1 pd DataFrame 1 0 0 0 2 0 0 0 3 columns 1 2 3 df1 1 2 3 0 1 0 0 1 0 2 0 2 0 0 3 df2 pd DataF
  • 希望在 SVG 元素上结合 CSS 填充颜色和 SVG 图案

    我想利用 CSS 的强大功能来结合两件事来设计 SVG 元素的样式 填充颜色和纹理 我的纹理是使用具有描边但没有填充的 SVG 图案创建的 但即使该图案没有填充 它仍然不允许通过笔划看到 CSS 填充颜色 http jsfiddle net
  • iOS 中的 Facebook 分享对话框

    我正在努力实施本机共享对话框来自 Facebook 的示例应用程序 这样做似乎有些问题 到目前为止我所做的事情 包含最新的 Facebook SDK 包括 AdSupport 社交 帐户 安全和 libsqlite3 dylib 添加了来自
  • jQuery Sortable - 事件被调用太多次

    我有一个 x 类列表 该列表中有许多 y 类列表 可以将项目从任何子列表拖动到任何其他子列表 也可以安排子列表本身的顺序 我正在努力应对通过可排序触发的事件 接收 仅当某些内容从其他地方带入列表时才会触发 因此对于在子列表中排列项目或排列子
  • 为什么我的绝对/固定位置元素没有位于我期望的位置?

    我刚刚学习CSS中的定位 根据我发现有用的文章 我开始尝试 使用以下代码 我无法理解为什么绝对灰盒 div 位于其相对父级之外 我预计灰盒将位于容器的左上角 container background lightblue position r
  • Swift 泛型和协议不适用于 UIKit [可能的错误]

    TL DR gt 滚动到底部 在尝试使用 Swift 面向协议编程来标记 Apple 时 我在尝试实现类之间的委托模式时偶然发现了以下问题 我将从这个例子开始 protocol PhotoHandlerParent class UIView
  • 获取图标128*128文件类型C#

    我需要获取文件类型 doc 或 txt 的图标 它的大小应为 128 128 并以良好的质量保存为 png 或 ico 文件 I used Icon ico Icon ExtractAssociatedIcon d 1 txt pictur
  • 如何从 python 集中删除自定义对象的实例?

    我正在用 python 进行一些基本的卡 牌组操作 下面你可以看到我的 Card 类和 Deck 类 假设我知道有些牌已经死了 并且想将它们从牌组中删除 import itertools SUIT LIST h s d c NUMERAL
  • 设置 Java 线程的优先级

    我有一个在几个线程中运行的程序 主线程与其他线程共享一个对象 在主线程中我调用了 synchronized obj do stuff 我怀疑主线程饥饿并且无法访问obj 如何提高主线程的优先级或者默认情况下它已经高于其他线程 Thread
  • Java:Swing:按下按钮后隐藏框架

    我在 java 框架中有一个按钮 按下该按钮时 它会从文本字段读取一个值 并使用该字符串作为尝试连接到串行设备的端口名称 如果连接成功 该方法返回 true 否则返回 false 如果它返回 true 我希望框架消失 然后将出现其他类中指定
  • 使用 OpenCSVSerde 时,hive 无法读取字符斜杠

    我在 hdfs 中的文件顶部定义了一个表 我正在使用 OpenCSV Serde 从文件中读取 但是 数据中的 斜杠字符在最终结果集中被省略 是否有我没有正确使用的 hive serde 属性 根据文档 escapeChar 应该可以解决这