问题标签 [hive-serde]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
csv - hive sql, serde how to not quote my fields?
Since by default serde quotes fields by ", How can I not quote my fields using serde?
I tried:
But i'm getting
json - Hive:将 JSON 数据嵌套到 Hive 表中的挑战
我正在尝试将深度嵌套的 JSON 数据加载到配置单元表中。让我告诉你们到目前为止我尝试了什么。
1- 我有 JSON 文件,它们像结构数组一样深度嵌套,又具有结构字段。
2- 我成功地将这个 json 数据加载到 Spark Data 框架中并且能够看到架构。此外,我使用来自 spark shell 的以下命令成功将此数据帧存储为配置单元表。
但是当我尝试任何查询时select * from patent_data_2001 limit 1
它给了我以下错误
3-我尝试使用来自 spark shell 的以下命令使用 Hive serde 而不是 Spark SQL spllied jar
还是同样的错误。
它在 hive 仓库中创建表并加载数据,但是当我尝试查询表甚至描述表时它给了我错误。
4-假设此问题可能与 Spark SQL 和 Hive 兼容性有关。自从创建表以来,我就想到了修复模式,并且只有表模式有问题。我尝试手动修复架构,是的,这是一个漫长而真正耗时的过程,最终修复了架构。Create table statement
我使用如下所示再次手动创建了配置单元表。
但是我又遇到了同样的错误。
5-我尝试使用下面链接中列出的 Serde
但一点运气都没有。
6-在研究时我发现这可能是这些 JIRA 中提到的问题
我用下面的 serde 运行表创建
但我得到了同样的错误,没有其他细节。
我无法弄清楚为什么会发生这些错误以及为什么 hive 在让我成功创建表时不让我查询表。
任何帮助或建议都会非常有帮助。请帮忙。
非常感谢。
hadoop - 将 EBCDIC 转换为 ASCII 文件格式 - 用于 hive 的 SerDe。如何克服 EBCDIC 文件中的分隔符问题
ebcdic 中没有 /n 之类的东西。ebcdic 中不支持新行。我应该如何转换。ebcdic 中没有分隔符。所以在转换这个文件时。我怎么知道新线路来了?请提出建议。
regex - 使用正则表达式匹配日志文件行时的可选字段
我正在尝试使用RegexSerDe解析带有正则表达式的网络日志。它通过将每个正则表达式组与表中的列进行匹配来工作,如果正则表达式组为空,它会为该列分配一个空值。
我无法匹配缺少字段的日志行。此日志中有两种行:
我编写了以下正则表达式,它与所有字段的第一种类型的行匹配:
但是我?
尝试让正则表达式选择性地忽略前 4 个之后的字段,但一直弄乱列。
关于如何在?
不改变组数的情况下添加的任何建议(以便反序列化器不会咳出)?或者您会建议任何其他方式来做到这一点?
hadoop - Hive 中的数据(单引号和双引号)不匹配
在将文件从大型机以 ORC 格式加载到 Hadoop 中时,一些数据使用单引号(')加载并保留为双引号(“)。但完整的源文件在单引号(')中。指定使用的自定义分隔符Hive Cobol Serde。
例子:
源数据:
名字 姓氏 地址
Rev 'Har' O'Amy 4031 'B' Ave
加载到 Hadoop 作为,一些具有正确格式(')的数据和一些带有双引号(“)的数据如下:
名字 姓氏 地址
Rev "Har" O"Amy 4031 "B" Ave
可能是什么问题以及如何解决这个问题?
hadoop - 使用 Hive 反序列化 protobuf 列
我对 Hive 真的很陌生,如果我的问题有任何误解,我深表歉意。
我需要将hadoop序列文件读入Hive表,序列文件是thrift二进制数据,可以使用Hive自带的SerDe2进行反序列化。
现在的问题是:文件中的一列是用 Google protobuf 编码的,所以当 thrift SerDe 处理序列文件时,它不会正确处理 protobuf 编码的列。
我想知道 Hive 中是否有办法处理这种嵌套在节俭序列文件中的 protobuf 编码列,以便可以正确解析每一列?
非常感谢您提供任何可能的帮助!
json - 尝试从配置单元中的 JSON 创建一个外部表
这是 json 文件中的示例行。
这是我一直在尝试的命令。
当我从中选择 * 时,我得到一个空白返回。
有任何想法吗?这是我第一次使用 JSON,我并不是真正的蜂巢专家。
我在这里添加了 json-serde-1.3.7-jar-with-dependencies.jar 文件,不确定这是否是最好的/唯一的路线。
hive - 无法使用 SerDe 加载具有固定宽度文件的配置单元表
我有具有 5 个固定宽度列的固定宽度文件。这是文件的结构。{col1:3char, col2:35char, col3:3char, col4:11char, col5:4char}
. 这是示例文件
因此,正如其他帖子中所建议的那样,我使用 RegEx。这是我创建的 DDL。
使用 load from local 加载此表中的数据后,将所有值设为 NULL。
请指教DDL有什么问题?我正在使用 2.4.2.0-258 版本的 Hive。
hive - 由多个空格分隔的 Hive 表源
如何通过一个或多个空格来制作下表源分隔符:
例如,USAF 和 WBAN 之间的空格数只有 1 个空格,而 'Date' 到 DIR 之间有 3 个空格。
我尝试了以下方法:
select * from weather limit 100;
但是当像我这样运行简单查询时,出现以下错误:
json - 使用 JSON SerDe 获取所有 NULL 值的 Hive 外部表
我的数据存储在 HDFS 目录 /tmp/kafka/alert 的多个文件中。每个文件都包含换行符分隔的 JSON 对象,如下所示。
我使用下面添加了配置单元 JSON SerDe jar
我创建了以下表格
表创建成功。但是当我获取数据时,我得到了所有空值。有人知道如何解决这个问题吗?