如何加载hive表中的多行列数据?具有换行符的列

2023-12-26

我在 Excel 文件中有一个列(不是最后一列),其中包含跨越几行的数据。

列的某些单元格为空白,有些单元格具有单行条目。

当保存为 .CSV 文件或制表符分隔 .txt 与 Excel 时,所有多行数据和少数单行条目都会在双引号中生成,所有空白字段都不会在引号中。一些单行条目不在引号内。

是否可以将具有相同结构的数据存储在 hive 表中?如果是,如何做到这一点? 我知道我需要转义双引号内的所有 LF,并仅将最后一个 LF 作为实际的 EOL 处理。但是当遇到 '\n' 时,Hive 会将数据写入新行。

Excel中数据的格式如下:

|------+------+--------+------------------+-------+------|
|row1: | col1 | col2   | col3(multi-line) | col4  | col5 |
|------+------+--------+------------------+-------+------|
|      |      |        | line 1 of 3      |       |      |
|row2: | abc  | defsa  | line 2 of 3      | bcde  | hft  |
|      |      |        | line 3 of 3      |       |      |
|------+------+--------+------------------+-------+------|
|row3: | abc2 | defsa2 | (blank)          | bcde2 | hft2 |
|------+------+--------+------------------+-------+------|
|row4: | abc3 | defsa3 | single-line1     | bcde3 | hft3 |
|------+------+--------+------------------+-------+------|
|row5: | abc4 | defsa4 | single-line2     | bcde4 | hft4 |
|------+------+--------+------------------+-------+------|

当保存为 CVS 时,它输出到以下内容:

row1--col1,col2,col3(多行),col4,col5
row2--abc,defsa,第 1 行,共 3",
row3--第 2 行,共 3 行,
row4--第 3 行,共 3 行,
row5--",bcde,hft
row6--abc2,defsa2,bcde2,hft2
第 7 行--abc 3,def a3,单行 1,bcde3,hft3
row8--abc4,defsa4,单行2",
row9--",bcde4,hft4

5 行 excel 到 9 行 csv。

如果可能的话,请注意将此 .csv 文件中的输入存储到 Hive 表中,而无需更改结构和维护多行列。


从这个链接 https://cwiki.apache.org/confluence/display/Hive/CSV+Serde,提供的 SerDe 无法处理嵌入的新行。我的猜测是,如果您想要嵌入新行,则必须创建自定义 SerDe。无需深入探究,this http://dev.bizo.com/2010/11/csv-and-hive.html是一个很好的资源,可能有助于创建自定义 SerDe。

您是否尝试过在将数据加载到 Hive 之前使用 Pig 来处理数据,例如在将 \n 字符移动到 Hive 之前,您可以将其替换为其他字符。但是您可能会遇到同样的问题,无法将其准确加载到 Pig 中,因为它可能使用相同的 SerDe。

最终,定制 SerDe 将解决您的问题,但可能还有另一种我没有看到的更简单的方法。

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

如何加载hive表中的多行列数据?具有换行符的列 的相关文章

随机推荐

  • 将 jQuery 集成到现有的 ASP.NET Web 应用程序中?

    微软最近宣布 http weblogs asp net scottgu archive 2008 09 28 jquery and microsoft aspxJavascript HTML DOM 库jQuery 将被集成进入 ASP N
  • 我应该如何渲染 2D 手电筒效果?

    我正在尝试在 2D 游戏中制作手电筒效果 我的手电筒被表示为以特定角度从实体延伸的线段 手电筒可以指向任何方向 手电筒的强度 手电筒光束的长度 也有所不同 我在尝试找出渲染手电筒效果的最佳 最简单 和最灵活的方法时遇到问题 尤其是平铺地图
  • 单击按钮时显示警报

    我正在使用默认的 Facebook 嵌入代码 div div
  • 通过 Web 服务返回大量结果

    我目前正在开发一个网络服务 返回的结果可能会很大 gt 5mb 这组数据如此之大 并且 Web 服务可以称为同步或异步 这是完全有效的 但我想知道人们对以下内容有何想法 如果连接丢失 整个结果集必须是 重新生成并再次发送 有没有 我可以用任
  • 将 Google Analytics“v4”集成到 Android 应用程序中

    感谢您的回答 但仍然不起作用 我已经创建 public class GAnalytics extends Application The following line should be changed to include the cor
  • $(window).resize() 会在方向改变时触发吗?

    当浏览器窗口大小调整时 我使用它来运行一些代码 window resize callback 当手机和平板电脑的方向发生变化时 我还需要运行此代码 上述事件会火吗 有些设备 浏览器可以 有些则不行 您需要确定支持的浏览器和设备 如果您想安全
  • 如何向使用该程序的人隐藏 MySQL 数据库的密码

    我使用 JDBC 创建了一个 java 程序 它成功连接到我的计算机服务器的 MySQL 数据库 如下所示 try The newInstance call is a work around for some broken Java imp
  • CSS 选择器中标签、id、类和属性的顺序重要吗?

    考虑以下 HTML 标记
  • 如何让 C++ 程序与 AIX 上的 gcc 堆栈保护器功能链接?

    我是一个 AIX 新手 我正在尝试使用 gcc 的堆栈保护器功能来编译程序 我使用 pware 的 GCC 包在服务器上安装了 gcc 我可以编译一个示例程序 例如 include
  • 水平堆叠条形图并向每个部分添加标签

    我正在尝试在 matplotlib 中复制以下图像 看起来barh是我唯一的选择 虽然看起来你不能堆叠barh图表所以我不知道该怎么办 如果你知道更好的Python库来绘制这种东西 请告诉我 这就是我能想到的作为开始的一切 import m
  • 简单的 Java 日期计算

    我想用Java 进行简单的日期计算 例如 计算日期之间的天数差异 时间分量为 0 当然 您可以简单地减去毫秒数 然后除以每天的毫秒数 这样效果很好 直到夏令时进入场景 我意识到 对 天数差异 的不同解释是可能的 特别是无论是否应该考虑时间成
  • 如何使用Azure Python SDK来配置Databricks服务?

    在这篇文章之前 我询问了如何在没有任何工作区的情况下配置 databricks 服务 现在我问如何为工作区提供服务 因为第一个场景似乎不可行 作为一名云管理员 我被要求使用 Azure Python SDK 编写一个脚本 该脚本将为我们的一
  • 使用 Amazon S3 上传图像

    我需要使用 Amazon S3 上传给定图像 我有这个 PHP 但它给了我这个错误
  • 如何强制 NSWindow 始终处于活动/聚焦状态?

    我有一个透明的NSWindow无论用户走到哪里 它都会跟随用户的屏幕 NSWindow无论如何 都位于每个应用程序的前面 甚至是全屏应用程序 在那里面NSWindow我有一个mouseDown显示弹出窗口的事件 假设我在全屏模式下使用 sa
  • BizTalk - 将命名空间放在属性上?

    参考使用 json Array 的示例 JSON 和 XML 之间的转换 http www newtonsoft com json help html convertingjsonandxml htm 我想要 BizTalk 架构能够构建如
  • 如何对多列上的数组进行排序?

    我有一个多维数组 主数组是一个数组 publicationID publication name ownderID owner name 我想做的是将数组排序owner name然后通过publication name 我知道在 JavaS
  • 从图像中剪切 x 像素

    为什么这会创建许多图像而不是两个 convert input image jpg crop 28x repage monet vertical d jpg 我想得到两张图像 距基础 28 像素和另一张图像 其中包含剩余的内容 convert
  • 检测 API 更改/演变 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想测量给定 Java 项目的 API 演变 特别是新 重命名的类 新方法 新弃用的方法等 是否有工具
  • Firebase Navigator 无法在 onMessageOpenedApp 上运行

    我阅读了 stackoverflow 上的所有主题 但没有一个对我有用 当您单击通知时 我正在尝试使用导航器 一切工作正常 但是当您单击它时 没有错误 也没有导航 通知就消失了 我能做些什么 我将分享代码 initState super i
  • 如何加载hive表中的多行列数据?具有换行符的列

    我在 Excel 文件中有一个列 不是最后一列 其中包含跨越几行的数据 列的某些单元格为空白 有些单元格具有单行条目 当保存为 CSV 文件或制表符分隔 txt 与 Excel 时 所有多行数据和少数单行条目都会在双引号中生成 所有空白字段