插入带有特殊字符的 Hive 表内容 - 制表符空格和换行符

2023-12-04

我正在尝试从 Hive 表中筛选 where 子句,选择带有特殊字符(特别是 Tab 和 NewLine)的数据。我努力了

我努力了like '%\\n%', like '%\\t%', like '%hex(9)%'等等,但它们似乎不起作用。

还尝试创建一个虚拟表来插入此类数据,但这也不起作用。请帮忙。


Use rlike '\\t'对于选项卡和rlike '\\n'对于换行符(使用双反斜杠):

hive> select 'a\tb' rlike '\\t'; --tabs
OK
true
Time taken: 0.075 seconds, Fetched: 1 row(s)

对于换行符:

hive>  select 'a\nb' rlike '\\n'; --newline
OK
true
Time taken: 0.454 seconds, Fetched: 1 row(s)

使用换行符和制表符插入值的示例:

 create table test_special_chars as  
        select 'a\nb' as a union all select 'a\tb';

换行很棘手。问题是,表默认是文本文件,换行符通常被解释为换行符,这就是为什么在选择时,它会返回一行额外的原因:

 select * from test_special_chars;
OK
a
b
a       b

实际上,插入 \n 会在文本文件中创建额外的行。这就是发生的事情。

但如果你创建ORC table:

create table test_special_chars stored as ORC as  select 'a\nb' as a union all select 'a\tb'; 

它工作正常,因为 ORC 不是文本格式并且可以存储换行符:

select count(*) from test_special_chars where a rlike '\\n';

Returns:

OK
1
Time taken: 40.564 seconds, Fetched: 1 row(s) 

当你select a from test_special_chars where a rlike '\\n',在屏幕上它也将显示为两行,它在选择时解释,但 ORC 和文本文件之间的区别在于,在 ORC 中换行符可以存储在值中,而无需在文件中创建额外的行。这就是为什么rlike '\\n'适用于 ORC,不适用于文本文件(不返回任何行),插入文本文件后 \ 并在文件中创建两个单独的行,但在 ORC 中则不会。

这是用其他内容替换换行符的方法:

 select regexp_replace(a,'\\n',' newline ') from test_special_chars where a rlike '\\n';

Result:

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

插入带有特殊字符的 Hive 表内容 - 制表符空格和换行符 的相关文章

  • Hive Full Outer Join为相同的Join Key返回多行

    我正在对同一列上的 4 个表进行完全外连接 我想为连接列中的每个不同值仅生成 1 行 输入是 employee1 employee1 personid employee1 name 111 aaa 222 bbb 333 ccc
  • Spark SQL 未正确转换时区[重复]

    这个问题在这里已经有答案了 使用 Scala 2 10 4 和 Spark 1 5 1 和 Spark 1 6 sqlContext sql select id to date from utc timestamp from unixtim
  • XML 规范是否规定解析器需要始终将 \n\r 转换为 \n,即使 \n\r 出现在 CDATA 部分中?

    我在处理 xml 中的 line feed 和 carriage return 字符时遇到了问题 我知道 根据http www w3 org TR REC xml sec line ends http www w3 org TR REC x
  • Hive - 通过聚合跨组的值来创建映射列类型

    我有一个看起来像这样的表 customer category room date 1 A aa d1 1 A bb d2 1 B cc d3 1 C aa d1 1 C bb d2 2 A aa d3 2 A bb d4 2 C bb d4
  • 您如何处理标准库的signed char -> int 问题?

    这是我工作中一个长期存在的问题 我意识到我still没有好的解决办法 C 天真地为 int 定义了它的所有字符测试函数 int isspace int ch 但是字符通常是带符号的 并且完整的字符通常不适合 int 或用于字符串的任何单个存
  • MySQL 搜索“$”(美元符号)失败?

    被要求在大量文本中查找美元价值 可以对美元符号进行搜索吗 如果是这样 任何示例 指导将不胜感激 当前查询 select from concept where concept description like 您可能想使用LOCATE查看列值
  • 在SSIS中导入已合并单元格的Excel

    我的问题是在读取合并 组合列单元格的 Excel 文件时 例如 将下面的excel数据读取到数据库中 Excel 输入 ID NAME DEPT FNAME LNAME 1 Akil Tiwari IT 2 Vinod Rathore IT
  • 特殊字符无法正确显示

    In a TextArea 我正在使用 字符 但无法正确显示 相反 它显示的是这样的 我如何获得 字符才能正常显示 您可能没有使用 Ascii 撇号 而是使用一些非 Ascii 标点符号 例如正确的标点撇号 出现问题的原因是您的 HTML
  • Hive 中字符串数据类型是否有最大大小?

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

    我正在尝试删除字符串中的一些非常特殊的字符 我读过其他帖子 例如 从 R 中的字符串中删除所有特殊字符 https stackoverflow com questions 10294284 remove all special charac
  • PHP:正则表达式删除`a`或`–?

    我使用这个正则表达式从字符串输入中删除所有标点符号 pg url preg replace W pg url 但有些符号或特殊字符我无法删除它们 例如 当我将其传递到我的数据库注入时 它会变成 or 我怎样才能摆脱这些奇怪的东西 Thank
  • 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 表中的列

    我正在使用 hive 版本 0 9 我需要删除 hive 表的列 我在几个 hive 命令手册中进行了搜索 但我只找到了 0 14 版本的命令 在 hive 0 9 版本中可以删除 hive 表的一列吗 命令是什么 谢谢 我们不能简单地使用
  • Hadoop:读取ORC文件并放入RDBMS中?

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

    我想知道如何将日期从 Hive 转移到 MySQL 我看过有关如何将 Hive 数据移动到 Amazon DynamoDB 的示例 但没有看到有关如何将 Hive 数据移动到 MySQL 等 RDBMS 的示例 这是我在 DynamoDB
  • 如何通过Python访问Hive?

    https cwiki apache org confluence display Hive HiveClient HiveClient Python https cwiki apache org confluence display Hi
  • sqlite 插入表中 select * from

    我需要在 Android 应用程序中将数据从一个表移动到另一个表 我想使用以下sql insert into MYTABLE2 select id STATUS risposta DATETIME now data ins from MYT
  • 当从 HDFS 手动删除分区数据时,如何更新 Hive 中的分区元数据

    自动更新Hive分区表元数据的方法是什么 如果新的分区数据被添加到HDFS 不执行alter table添加分区命令 然后我们可以通过执行命令 msck Repair 来同步元数据 如果从HDFS中删除了大量分区数据 没有执行alter t
  • SQLite FTS4 使用特殊字符进行搜索

    我有一个 Android 应用程序 它使用 FTS4 虚拟表在 SQLite 数据库中搜索数据 它工作正常 但是当表中的数据包含特殊字符 如 或 时 SQLite MATCH 函数不会给出任何结果 我现在迷路了 谢谢 注意 默认的分词器真的
  • 如何将SQL数据加载到Hortonworks中?

    我已在我的电脑中安装了 Hortonworks SandBox 还尝试使用 CSV 文件 并以表结构的方式获取它 这是可以的 Hive Hadoop nw 我想将当前的 SQL 数据库迁移到沙箱 MS SQL 2008 r2 中 我将如何做

随机推荐

  • 执行Excel4Macro从关闭的工作簿中获取范围/图表

    我使用这些行从关闭的工作簿中获取值 Arg Path File Sheet R4C4 Arg CStr Arg GetValue ExecuteExcel4Macro Arg 除了循环之外还有其他方法从范围中获取值吗 循环解决方案正在工作
  • JavaScript 原型不工作

    嗨 我不知道这是否是我理解 Javascript 原型对象的错误 需要明确的是 我对 Javascript 单例概念很陌生 并且缺乏明确的知识 但是通过一些推荐网站 我为我的系统制作了示例代码 但它给出了一些错误 我找不到原因 所以我 我请
  • Android 创建位图时出现 OutOfMemory 错误

    我收到错误java lang OutOfMemoryError bitmap size exceeds VM budget 当为了手动绘制折线图而创建位图时会发生这种情况 width display getWidth 10 height w
  • Jenkins 日志变得巨大并填满了整个磁盘空间

    每周我都会惊讶地发现我的 Jenkins 服务器达到了 Jenkins 日志使用的 100 磁盘 所以我删除了该文件 然后我的磁盘再次获得大量可用空间 ec2 user ip xxx xxx xxx xxx df h Filesystem
  • 如何将环境设置导入到我的 Perl 程序中?

    我有一个脚本 其内容只是导出 Linux 中的一个变量 export LD LIBRARY PATH 我想在我的 Perl 脚本中运行这个脚本 这样无论是谁运行我的 Perl 脚本都会有他们的LD LIBRARY PATH放 我可以在 Pe
  • 初级ILNumerics:VS2012下安装

    我对 ILNUmerics 非常感兴趣 想尝试免费版本 但我遇到了麻烦 我已经从控制台应用程序开始 并尝试运行 hello ilnumerics 控制台应用程序 但我注意到 VS 无法找到 MKL 库 我在 Windwos 8 下使用 VS
  • Azure函数应用程序使用slf4j登录App Insights

    使用 Spring Cloud Functions 实现了 Azure Function App 在应用程序设置 APPINSIGHTS INSTRUMENTATIONKEY 中配置的 App Insights 检测密钥 我使用 lombo
  • react-native fetch - 请求正文 - 意外的 EOF

    在我的反应本机应用程序中 我尝试使用以下命令发出获取请求body 但是 我收到错误消息unexpected EOF 实际上 请求已发出 我的意思是我可以通过后端日志看到请求已发送 而在请求之后 它立即显示错误消息 这是我的fetch met
  • python: += s, 中的逗号有什么作用?

    我正在做一个问题 输入是字符串 abc bcd acef xyz az ba a z 代码如下所示 def groupStrings self strings groups collections defaultdict list for
  • 如何获取res文件夹的Uri?

    我正在尝试获取可绘制文件夹中图像的 Uri 我尝试了很多可能的方法 但似乎没有任何效果 谁能建议我如何获取 res 文件夹的 Uri 任何帮助深表感谢 嗯 实际上很容易 包中资源的基本 URI 类似于以下可能性 android resour
  • 如何为 iphone 5 设置 apple-touch-startup-image?

    I tried 但这没有用 苹果的界面指南还没有针对 iPhone 5 进行更新 有谁知道吗 谢谢 1 视口不要使用 width device width 使用以下代码
  • SSO - 未找到 OpenID 端点

    我正在尝试让 SSO openid 与 dotnetopenauth 一起使用 我有两个单独的项目 分别进行调试 都在本地主机上 但有两个不同的端口 一个充当提供者 一个充当依赖方 依赖方正在运行localhost 1903 提供者正在运行
  • 无效的 Git RSA 密钥指纹

    我开始收到这个错误 Received disconnect from 192 30 253 112 port 22 2 Connection blocked because server only allows public key aut
  • 如何在 Visual Studio 或其他构建工具的一个 C# 项目中生成 dll 和 exe 的混合?

    如何在 Visual Studio 或其他构建工具的一个 C 项目中生成 dll 和 exe 的混合 技术上可行吗 是的 我知道它可以在 2 个或更多项目中完成 我不确定你的问题的动机是什么 因为你可以引用 Net 可执行文件 就好像它是
  • 从 MySQL 中的同一(随机)记录中选择 2 列的最快方法是什么?

    我希望从同一条记录中随机检索一对列 不过 我听说 Rand 效率很低 所以我想使用不同的方式 很多文章都这么说 包括http akinas com pages en blog mysql random row 是的 我的标题几乎说明了一切
  • Haskell do 块中如何允许表达式

    在以下代码的第 4 行中 我在 do 块中的两个 IO 操作之间夹有一个表达式 1 doubleX Show x Num x gt x gt IO 2 doubleX x do
  • 我需要从 tomcat 读取带有日志的远程文件

    我需要从 tomcat 读取带有日志的远程文件 如果我可以通过 ssh 访问日志文件夹 最方便的方法是什么 日志查看器可以从远程服务器读取日志 它支持SFTP FTP和Samba 它还提供远程文件系统浏览器 免责声明 我是 OtrosLog
  • 如何用swift 2.0播放背景音乐?

    嗨 我是 swift 和 ios 开发的新手 我的代码一直在工作 直到我更新到 Swift 2 0 我使用了 swift 迁移工具 但我仍然不知道如何排序和修复我的代码 请帮忙 import AVFoundation var backgro
  • 如何列出项目中的所有表格大小

    有没有办法列出 BigQuery 中的所有表大小 我知道这样的命令 select table id sum size bytes pow 10 9 as size from certain dataset TABLES group by 1
  • 插入带有特殊字符的 Hive 表内容 - 制表符空格和换行符

    我正在尝试从 Hive 表中筛选 where 子句 选择带有特殊字符 特别是 Tab 和 NewLine 的数据 我努力了 我努力了like n like t like hex 9 等等 但它们似乎不起作用 还尝试创建一个虚拟表来插入此类数