【问题标题】:HIVE Select columns names with regular expression?HIVE使用正则表达式选择列名?
【发布时间】:2020-12-08 13:25:32
【问题描述】:

我想知道是否可以查询hive ith term rehiliare selection 中某描述的起始列的列?

示例: 具有此列名称列表的表 图案1 图案2 图案3 balab1 balabal2 ma1 ma2 ma3

select(用于选择列初学者的表达式) 从表

谢谢

【问题讨论】:

  • 嗨 malouke,要在 SO 中获得答案,您需要提出应该解释确切问题的问题以及您遇到问题的一些代码 sn-ps(如果有)。

标签: hive


【解决方案1】:

我相信您正在寻找基于正则表达式的列。

下面的作品:

  set hive.support.quoted.identifiers=none;
  select `patt.*` from test_table;

以上代码将在您提到的列“pattern1 pattern2 motif3 balab1 balabal2 ma1 ma2 ma3”中返回列 pattern1 pattern2

请参阅https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Select#LanguageManualSelect-REGEXColumnSpecification 了解更多信息。

【讨论】:

  • 我也试过这个它不起作用:SELECT (ds|hr)?+.+ FROM sales
  • 您使用的是哪个版本的 hive?
【解决方案2】:

您必须在 select 之后和 from 之前使用反引号字符(键盘中的 tilda 上方而不是单引号)才能在配置单元中运行正则表达式。

【讨论】:

    猜你喜欢
    • 2018-09-25
    • 2014-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    • 2011-06-18
    • 1970-01-01
    相关资源
    最近更新 更多