【问题标题】:How to search a key word in all columns of big query table?如何在 bigquery 表的所有列中搜索关键字?
【发布时间】:2018-07-03 00:29:21
【问题描述】:

我正在使用大查询来查看我的谷歌云中的数据。我想在特定表的所有列中搜索关键字。

例如:我正在寻找迪拜。我需要任何列中出现迪拜单词的条目的结果。

【问题讨论】:

  • 这看起来更像是一个叙述性的要求。您的研究/代码/努力在哪里?

标签: google-bigquery keyword


【解决方案1】:

下面是 BigQuery 标准 SQL 并假设列名不包含搜索词(也可以调整以解决这个问题)

#standardSQL
SELECT *
FROM `yourproject.yourdataset.yourtable` t
WHERE REGEXP_CONTAINS(LOWER(TO_JSON_STRING(t)), r'dubai')

您可以使用下面的虚拟数据测试/玩上面的内容

#standardSQL
WITH `yourproject.yourdataset.yourtable` AS (
  SELECT 1 id, 'Los Angeles' col1, 'New York' col2 UNION ALL
  SELECT 2, 'Dubai', 'San Francisco' UNION ALL
  SELECT 3, 'atlanta', 'dubai' UNION ALL
  SELECT 4, 'I love Dubai', 'Me too'
)
SELECT *
FROM `yourproject.yourdataset.yourtable` t
WHERE REGEXP_CONTAINS(LOWER(TO_JSON_STRING(t)), r'dubai')

希望以上内容可以成为您申请特定案例的良好起点

但请注意:成本是整个表的扫描 - 所以在运行读取(希望是大)数据之前检查成本:o)

【讨论】:

  • 非常感谢。它使我的时间和精力减少了 10 倍。
  • @GopiKantamneni - 请参阅我对您的问题的评论:o)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-08
  • 1970-01-01
  • 1970-01-01
  • 2019-07-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多