私は、テキスト列とキーワード列を持つテーブルが1つあります。今、私は、別のテーブルにキーワードを含むすべてのテキストを取得したい。 LIKE演算子を使用しようとしましたが、動作しません。クエリは次のようになりますハイブのテキストを比較する
select screen_name from t_tweets_geo where text like '% select keywords from h_trends %';
しかし、このクエリは何も返しません。親切に助けてください
私は、テキスト列とキーワード列を持つテーブルが1つあります。今、私は、別のテーブルにキーワードを含むすべてのテキストを取得したい。 LIKE演算子を使用しようとしましたが、動作しません。クエリは次のようになりますハイブのテキストを比較する
select screen_name from t_tweets_geo where text like '% select keywords from h_trends %';
しかし、このクエリは何も返しません。親切に助けてください
selectは、コマンドの文字列リテラルの中にあります。したがって、これは重複を削除しないことを
あなたはこの代わりにselect screen_name from t_tweets_geo,h_trends where text LIKE concat('%',keywords,'%')
ノートを使用することができます。..実行されていません...実際に私はTwitterのデータを持っていると私が望むすべてが画面を見つけることです
キーワード列に「選択キーワードからh_trends」という文字列が含まれている可能性は低いので、クエリは機能しません。
一つのアプローチは、join
を使用することである。
select g.screen_name
from t_tweets_geo g join
h_trends h
on concat(' ', text, ' ') like concat(' ', h.keywords, ' %') ;
しかし、エンティティのキーワードを格納するための良い方法はscreen_name
とkeyword
ごとに1行で、別のテーブルを使用することです。単一の文字列に値のリストを格納することは、危険を伴います。
それらのキーワードをテキスト内で使用している人の名前。あなたのクエリはこのエラーを返しています:FAILED:SemanticException [エラー10017]:行4:8 JOIN ''% ''の左と右のエイリアスが両方とも発生しました –
完璧に感謝しています –
少し編集していただきありがとうございました。それ..しかし私はそれを適用しました。 – MysticForce