hive - Ambari Hive, Where 子句
问题描述
我需要一些有关此 Hive 查询的帮助。
- 表名是 frame_curated
- 列名是消息
- 列类型是字符串
在该列中,数据的格式如下:
IP":"1735", "ID":"G54X"
我正在寻找ID="G54X"
消息列中的记录。
像这样的东西
Select * FROM frame_curated WHERE frame_curated.Message LIKE '%G54X%'
根据我的研究,我认为它应该是这样的:
Select * FROM frame_curated WHERE frame_curated.Message.ID ['G54X']
但它不起作用。
衷心感谢您的帮助。
罗勒
解决方案
我认为不适frame_curated.Message.ID ['G54X']
用于字符串数据类型。只有当您的数据类型是List<dict<string:string>>
你可以使用这样的东西
select * from temp.test2 where value like '%"ID":%G54X%'
另一种方法是,您将表数据类型更改为复杂并运行您建议的查询。
推荐阅读
- c++ - 位成员倒序?
- c# - 如何使用 ASP.NET Webforms 在 DataRow 中呈现按钮?
- codeigniter - 将登录用户的 id 从一个表存储到另一个-CodeIgniter
- c++ - 在 For 循环数组 C++ 中查找最大和最小值的值
- python - 使用 geopandas to_crs epsg 时出错“没有显示列”
- c - 如何在文件中写入变量而不添加:新行:来自 C 中的“scanf”
- excel - 我是否正确使用 Excel 的 VBA 中的 On Error 和 SpecialCells (Empty Rows)?
- java - java - 以不同的顺序比较两个具有相同键的json对象
- java - 写入文本文件时减少整数变量的问题
- sql - 识别并删除引号中的记录