TIMESTAMP 未按照蜂巢中镶木地板的预期表现

2023-12-14

I have parquet读取时的数据(TIMESTAMP列)使用 Spark 效果非常好。以下是样本记录:

scala> data.select($"BATCH_LOAD_DATE").limit(5).show()

+-------------------+
|    BATCH_LOAD_DATE|
+-------------------+
|2020-02-21 07:35:27|
|2020-02-21 07:35:27|
|2020-02-21 07:35:27|
|2020-02-21 07:35:27|
|2020-02-21 07:35:27|
+-------------------+   

我检查了架构,它显示TIMESTAMP作为正确的列之一的数据类型。所以,模式也没有问题。然而,当我尝试阅读相同的内容时TIMESTAMP通过 Hive 的列,它抛出以下异常

Error: java.io.IOException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.ClassCastException: org.apache.hadoop.io.LongWritable cannot be cast to org.apache.hadoop.hive.serde2.io.TimestampWritableV2 (state=,code=0)   

我可以看到从this链接表明这是 Hive 中的一个未决问题。不确定是否已经解决。有什么解决方法吗?加载数据时可以做些什么,或者加载后进行一些转换?


我找到了解决我自己问题的替代方案。我更改了列类型TIMESTAMP列至STRING在获取数据时我使用了from_unixtime方法将该特定列转换为预期的日期格式并能够获取它。
但是,这里的问题是如果我的日期值是2020-02-27 15:40:22当我通过 Hive 获取该列的数据时,它正在返回EpochSeconds i.e 15340232000000.
因此,我通过以下查询在 Hive 中解决了这个问题:

select *, from_unixtime(cast(SOURCE_LOAD_DATE as BIGINT) DIV 1000000) as SOURCE_LOAD_DATE from table_name;   

使用上面的查询我能够获得带有时间戳值的正确日期。

Note:

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

TIMESTAMP 未按照蜂巢中镶木地板的预期表现 的相关文章

随机推荐

  • 根据父宽度定位绝对顶部属性

    有以下 HTML div class child of body This is a text div 和以下 CSS child of body position absolute top 10 我可以设置top所选元素的值 我看到10
  • 使用值范围作为键的字典对象

    我需要一本专门的词典 我的用例是这样的 用户想要指定值的范围 该范围也可以是单个点 并将值分配给特定范围 然后我们希望使用单个值作为键来执行查找 如果该单个值出现在某个范围内 那么我们将返回与该范围关联的值 例如 represents th
  • 数组中最常见的值

    我将如何找到数组中三个最常见的元素 我正在处理长度为 10 000 的数组 其元素 0 100 之间的随机整数 我正在考虑使用两个数组 其中一个长度为 100 并且通过使用 if 语句来递增 但是 我想知道是否有一种方法可以仅使用一个 fo
  • 在 XML 或 java 文件中编写相同的代码(用于布局)是否存在性能差异?

    我知道 XML 和 java 文件中可以执行的操作和不能执行的操作之间存在差异 但到目前为止 我了解到 java 文件可以执行 XML 文件可以执行的所有操作 至少在我正在阅读的书中是这样写的 请参阅下面的引用 因此 我的问题是 用 jav
  • 安全地存储 api 凭证

    我如何安全地存储 API 凭据 如身份验证密钥 谷歌地图 API 密钥 目前我已将该凭据存储在 strings xml KeygenratorSpec 要求最低 API 级别为 23 有什么方法可以安全地存储任何帮助都会更有帮助我陷入困境2
  • BigQuery 使用 PHP 流式传输“insertAll”性能

    我们使用以下方法将大量数据从服务器端流式传输到 BigQuery 中 google api php 客户端图书馆 除了性能之外 流媒体工作正常 我们的负载测试显示 将一行流式传输到 BigQuery 的平均时间为 1000 毫秒 1 秒 我
  • 无法向某些控件发送 WM_INPUTLANGCHANGEREQUEST

    我正在研究 又一个 键盘布局切换器并在 Skype 窗口 win7 x64 上的版本 6 22 中遇到了奇怪的问题 任意组合GetForegroundWindow GetFocus GetParentWindow 无法成功更改布局仅在消息输
  • 将 Double 值格式化为小数点后两位的最佳方法[重复]

    这个问题在这里已经有答案了 我在应用程序中处理大量双精度值 有没有简单的方法来处理 Java 中十进制值的格式 还有比这更好的方法吗 DecimalFormat df new DecimalFormat 我想做的基本上是格式化双值 例如 2
  • 为什么 numpy.mean 不是多线程的?

    自从我注意到 numpy 它只使用一个核心以来 我一直在寻找轻松地对一些简单分析代码进行多线程处理的方法 尽管事实上它应该是多线程的 我知道 numpy 是为多个核心配置的 因为我可以看到使用 numpy dot 的测试使用了我的所有核心
  • CoreData、多对多关系和 NSPredicate

    我有一个包含多对多关系的 CoreData 数据模型 事实证明 NSPredicate 不支持多对多关系 来自 CoreData pdf 谓词的键路径中只能有一个对多元素 作为食谱示例 许多食谱和许多成分 一份食谱可以有多种成分 其中 盐
  • 为什么 pytesseract 无法识别这个简单图像中的数字?

    我正在尝试使用 pytesseract 识别图像中的两个数字 我努力了 psm 6 up to 10 我努力了 c tessedit char whitelist 0123456789 以上均不返回49数字 我得到的最近的已返回4没有9 您
  • *通过共享* JavaScript 对象来测试深度相等

    在 JavaScript 中测试两个对象的深度相等这一主题已经有很多墨水了 然而 似乎没有人关心区分以下两个对象 var o1 var subitem var o2 subitem subitem var o3 大多数深度相等算法会说o1
  • 解析嵌入的CSS beautifulsoup

    是否可以从 html 标签中提取嵌入的 css 属性 例如 假设我想找出 s5 的垂直对齐属性是什么 我目前正在使用 beautifulsoup 并已检索了跨度标签tag soup find class s5 我试过了tag attrs c
  • 仅在第一次调用方法时调用该方法的块

    我有一个方法 在这个方法中我有一个块 public void method block instructions 但这个方法在我的程序中被调用了两次 我希望该块仅执行一次 并且仅在该方法第一次出现时执行 最好 最优雅的方式是什么 priva
  • NHibernate 和版本控制(时间戳)

    我得到了这个异常 在 System Convert ToDateTime 对象值 在 p nhibernate core src NHibernate Type DateTimeType cs 中的 NHibernate Type Date
  • 使用 mybatis 或 ibatis 的一对多关系

    我有一个有两个表的数据库 post id post name post desc files file id file name post attachments post id file id 在我的 xml 映射中我已经有了
  • 为什么此插件代码中的 CRM 2011 实体关系为空?

    这是我为 CRM 2011 编写的插件的工作示例 我已在插件注册工具中为此插件创建了 创建 步骤 这执行得很好 我还为该插件注册了一个 更新 步骤 由于返回的主要联系人为空 因此执行失败 这些步骤都注册为异步 using System us
  • 即使将鼠标悬停后也保持下拉菜单处于活动状态(可见)

    当我移动鼠标指针滚动到子菜单后 我的子菜单立即消失 感觉好像我把 CSS 搞砸了 经过几次尝试使其保持活跃后我无法弄清楚 我遵循了一些教程 看看它 他们称之为hover on the ul代替a 主播 我尝试了类似的方法 但无法达到我想要的
  • 从表列中的 SQL Server 日期值获取月份名称

    我想创建一个统计查询 显示每月的记录数 问题是我希望以字母形式显示月份 例如一月 二月 三月等 而不是像 1 2 或 3 那样 我没有使用字母表显示月份名称month getdate 我不知道如何进行转换 这是我的 SQL Server 查
  • TIMESTAMP 未按照蜂巢中镶木地板的预期表现

    I have parquet读取时的数据 TIMESTAMP列 使用 Spark 效果非常好 以下是样本记录 scala gt data select BATCH LOAD DATE limit 5 show BATCH LOAD DATE