来自字符串字段的 AWS Athena json_extract 查询返回空值

2024-01-20

我在 athena 有一张具有这种结构的表

CREATE EXTERNAL TABLE `json_test`(
  `col0` string , 
  `col1` string , 
  `col2` string , 
  `col3` string , 
  `col4` string , 
  )
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.serde2.OpenCSVSerde' 
WITH SERDEPROPERTIES ( 
  'quoteChar'='\"', 
  'separatorChar'='\;') 

像这样的 Json 字符串存储在“col4”中:

{'email': 'test_email@test_email.com', 'name': 'Andrew', 'surname': 'Test Test'}

我正在尝试进行 json_extract 查询:

SELECT json_extract(col4 , '$.email') as email FROM "default"."json_test"

但查询返回空值。

任何帮助,将不胜感激。


JSON 需要使用双引号 (") 用于包含值。

Compare:

presto> SELECT json_extract('{"email": "test_email@test_email.com", "name": "Andrew"}' , '$.email');
            _col0
-----------------------------
 "test_email@test_email.com"

and

presto> SELECT json_extract('{''email'': ''test_email@test_email.com'', ''name'': ''Andrew''}', '$.email');
 _col0
-------
 NULL

(Note: ''SQL 里面的 varchar 字面意思是单个'在构造的值中,因此这里的文字与问题中的格式相同。)

如果您的字符串值是“带单引号的 JSON”,您可以尝试使用以下命令修复它replace(string, search, replace) → varchar https://prestosql.io/docs/current/functions/string.html

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

来自字符串字段的 AWS Athena json_extract 查询返回空值 的相关文章

随机推荐

  • 已检查=“已检查”与已检查= true

    下面两种用法有什么区别 document getElementById myRadio checked checked and document getElementById myRadio checked true 对我来说 两者的行为方
  • Android 加速度传感器

    我正在尝试使用加速度计传感器 所以我尝试了这个 例子 http blog androgames net 85 android accelerometer tutorial http blog androgames net 85 androi
  • 在 Visual Studio 2013 中生成 .edmx EF6 时出现问题

    我正在尝试针对 mssql 2012 或 2008 数据库服务器和表集在 Visual Studio 2013 中为我的数据库生成 edmx 文件 edmx 文件生成时没有问题 并且在我尝试编译项目之前一切看起来都很好 代表数据库表的每个对
  • 适用于 .net/PowerShell 的良好内存数据库?

    如果我有一个处理稍微复杂一点且可以存储在变量中的状态信息的脚本 那么对于小型内存数据库来说 最佳选择是什么 Sqlite 是一个选项 尽管这将是一个外部依赖项 XML 也可以 尽管它是非关系型的 对于这项工作的工具有什么共识吗 考虑到 Po
  • Linux 64 位 shellcode

    我正在尝试在 Ubuntu 64 位上编写我的第一个 Hello world shellcode 但它不起作用 我有文件你好 asm 64 bit Hello World in Linux NASM global start global
  • 如何下载旧版本的 STS? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找下载3 6 0 sts bundle但我找不到执行此操作的地方https spring io
  • 如何用opencv改变饱和度值?

    为了将恒定值添加到每个像素的饱和度值 我在双循环中执行此操作 我想知道是否有更简单 更快的命令来实现这一点 对于我尝试的实验 分割 hsv 值 调整各个通道然后进行合并的替代方法提供了更好的性能 与循环像素相比 下面的方法对我来说要快很多倍
  • 如何轻松地重新排序TabControl?

    我有一个TabControl我在 VS2005 设计器中设计的 大约有 7 个选项卡 如何轻松切换选项卡的顺序 我匆忙地在末尾放了一个标签 但现在我想把它放在中间的某个地方 在选项卡控件的属性中 有一个 TabPages 集合 你应该能够在
  • Wordpress AJAX 调用出现 400 错误请求 [重复]

    这个问题在这里已经有答案了 我正在为 WordPress 网站的前端开发一个搜索插件 目前我不断收到 400 Bad Request 错误 但我不明白为什么 我已经审查了许多关于 SO 和 WordpressStackExchange 的问
  • 如何将图片合并到 WriteableBitmap 中?

    我有一个像这样的位图 var map new WriteableBitmap 800 800 800 800 PixelFormats Bgr32 null 然后我有一个 50x50 png 图片 我想将其合并到此位图 包括透明度 中 位置
  • 创建类似于fb:tag

    我想创建类似于 fb 标签的东西 例如 如果您将 fb comments 放入代码中 它将显示您来自 Facebook 的评论 当然 您需要在 HTML 头中包含 Facebook xmlns 如何创建自己的标签来执行加密等操作 例如
  • 尽管智能感知列出了它,但找不到定义?

    我在 Visual Studio 10 现在也是 11 中遇到了一个奇怪的错误 我有一个扩展方法 public static S Foo
  • 使用包标识符打开应用程序

    是否可以从我们的应用程序中打开应用程序bundle identifier 假设我在第一台设备上安装了两个应用程序com test app1 and com test app2 我可以从我的 app2 中打开 app1 吗 我知道 openU
  • 如何在 pywinauto 中通过正则表达式标题搜索子代/后代?

    我正在尝试通过正则表达式标题获取另一个 UI 元素的子 后代 UI 元素 例如 以下代码应该可以工作 from pywinauto application import Application WindowSpecification roo
  • Android gradle-experimental 0.2.0 添加 res 和 aidl

    我正在努力在 Android Studio 1 3 Gradle 2 5 和 gradle experimental 插件 0 2 0 中使用外部库 因为 NDK 需要这些库 我找到了一些材料here http tools android
  • 使用 AutoLayout 在自定义 UITableViewCell 中使用 Aspect Fill 的 UIImageView

    我一直在努力适应UIImageView显示可变宽度和高度的图像Aspect Fill 单元高度不适应新的高度UIImageView并坚持它的高度 视图的层次结构是这样的 UITableViewCell UITableViewCell Con
  • Firebase 显示成功但未发送云消息(Android - PHP)

    我已经做了很多研究来找出它导致问题的原因 但我仍然无法弄清楚为什么 我可以从控制台发送通知 我可以使用控制台中的令牌向一台设备发送通知 但我无法从 PHP 发送云消息 我还编辑了 build gradle 并添加了给定 firebase 的
  • 如何使用 HABTM 关系在 CakePHP 中查询数据?

    我正在开发 CakePHP 1 2 应用程序 我有一个模型 用户 通过连接表定义了与其他表的一些 HABTM 关系 我现在的任务是根据这些 HABTM 表之一中存储的数据查找用户信息 不幸的是 当查询执行时 我的条件被拒绝 并出现有关缺少表
  • 无法访问 Selenium Webdriver 中的引导模式对话框

    我想要访问打开的模式对话框的内容 并且想要访问按钮 是 否 HTML 代码如下所示 div class modal dialog div class modal content div class modal header div clas
  • 来自字符串字段的 AWS Athena json_extract 查询返回空值

    我在 athena 有一张具有这种结构的表 CREATE EXTERNAL TABLE json test col0 string col1 string col2 string col3 string col4 string ROW FO