0
私はハイフン( ' - ')をアンダースコア( '_')に置き換えるハイブテーブルを持っています。テーブル名にハイフン(ダッシュ)を置き換える方法は?
CREATE TABLE test_${yearAndMonth} ......
INSERT OVERWRITE TABLE test_${yearAndMonth} ......
「yearAndMonthは」のような値が含まれています: サンプルクエリはようである2017から05に。だから、私はtest_2017_05としてテーブルの値の名前を持っています。ただし、 'yearAndMonth'にはハイフン値が含まれている必要があります。
私が試してみました:正規表現は、たとえば を置き換える:
CREATE TABLE test_${regexp_replace(yearAndMonth, '-', '_')} ......
INSERT OVERWRITE TABLE test_${regexp_replace(yearAndMonth, '-', '_')} ......
しかし、私のようにエラーを取得しています:
する '{' テーブルでナ '$' 'TEST_' に近い入力を認識することはできません私
お願いします。
アップデート:私はこのエラーを取得しています
CREATE TABLE test_regexp_replace(${yearAndMonth}, "-", "_") ......
INSERT OVERWRITE TABLE test_regexp_replace(${yearAndMonth}, "-", "_") ......
:この中にしようと は方法だった は内の変数のフォーマットを変更する '(' の近くに 'test_regexp_replace'
**(1)**あなたはHive変数が何であるか誤解しています。 https://stackoverflow.com/questions/42887401/storing-result-of-query-in-hive-variable/42887453#42887453を確認してください。 **(2)**正しい形式で変数を渡す必要があります。 –