1

例えば:

df.select('category').show()

+---------------------------+
|                   category|
+---------------------------+
|            money,insurance|
|            life, housework|
|           game,FPS,network|
|            game,fight,jump|
|                      hotel|
|                 trip,hotel|
|                       null|

RLIKE部分文字列リストの 1 つをあいまい一致させる正規表現を記述するために使用したい['money', 'life'].

-- This is an exact match
SELECT * 
FROM tb_name
WHERE col_name RLIKE '(money|life)'

-- This is a fuzzy match
SELECT * 
FROM tb_name
WHERE col_name RLIKE '*.(money|life)'

しかし、あいまい一致コード スニペットの ast ツリーにエラーがあります。

06-11 16:59:17-致命的なフィルター ast ツリー

(TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TAB tb_name))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR "hdfs://XXXX/XX")) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_WHERE (RLIKE (TOK_TABLE_OR_COL col_name ) '*.(money|人生)')) (TOK_LIMIT 2000)))

06-11 16:59:17-致命的なフィルター機能: . TOK_TAB \S tdw_inter_db.*|. TOK_(キューブ|ロールアップ) .

したがって、あいまい一致コード スニペットに問題はありません。
誰でも私を助けることができますか?
よろしくお願いします。

4

1 に答える 1