問題タブ [hiveql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hive - Hiveを実行する場所にmetastore_dbが作成されました
フォルダmetastore_db
は、Hiveクエリを実行する任意のディレクトリに作成されます。定義された場所に1つだけをmetastore_db
配置し、それがあらゆる場所で作成されないようにする方法はありますか?それは何か関係がありhive.metastore.local
ますか?
timestamp - 列タイプがタイムスタンプの外部Hiveテーブルを作成する方法
HDFSのエポックを含むテキストファイルから外部Hiveテーブルを作成したいと思います。ファイルがにあるとしましょう/user/me/test.txt
。ファイルの内容は次のとおりです。
Hive 0.8.1をインストールしていて、タイプTimestampを使用できるはずなので、次のテーブルを作成しました。
次に、テーブルにクエリを実行しました。
次の例外が発生しました。
外部テーブルを作成するときに何か見落としたことはありますか?Hive(0.8以降)が2番目にUnixエポックの形式でタイムスタンプをサポートしているので混乱しています:https ://cwiki.apache.org/Hive/languagemanual-types.html#LanguageManualTypes-Timestamps
hadoop - Hadoop ランキング列
したがって、私が使用している特定の列があります:
customer_token
、merchant_id
、merchant_category_code
、およびtransaction_amount
。
私の現在のクエリはこれです:
上記のクエリに、結果の一部を追加したいのですが、merchant_category_code は、それぞれの特定の取引金額に基づいて異なる列に分割されますmerchant_category_code
。次のような結果になります。
customer_token、count(transaction_amount)、sum(transaction_amount)、count(1位のmerchant_category_codeのtransaction_amount)、count(2位のmerchant_category_codeのtransaction_amount)、count(3位のmerchant_category_codeのtransaction_amount)など...
そしてこれ:
customer_token、count(transaction_amount)、sum(transaction_amount)、sum(ランク1のmerchant_category_codeのtransaction_amount)、sum(ランク2のmerchant_category_codeのtransaction_amount)、sum(ランク3のmerchant_category_codeのtransaction_amount)など...
しかし、これを行う方法、またはそれがまったく可能であるかどうかについて、私は途方に暮れています。
hive - ハイブ パーティションを更新/削除する方法は?
Hiveの外部テーブルにパーティションを追加した後、どのように更新/削除できますか?
arrays - 配列の最後の要素にアクセスする方法は?
私のハイブテーブルでは、session
フィールドは次のような形式の文字列です。
ip-sessionID-userID
またarea-sessionID-userID
" " で区切られた 3 つまたは 4 つのフィールドがあります-
が、userID は常に最後のフィールドです。
ユーザー ID を選択したいのですが、最後のフィールドにアクセスするにはどうすればよいですか? Python では、次のようなものがあります。
arr[-1]
しかし、ハイブでは、これを達成する方法は? 次の SQL は正しくないようです。
select split(session,"\-")[-1] as user from my_table;
ありがとう!
mapreduce - Hive の一連の行を別の一連の行に「削減」する
空間データベースのバッチ処理に Hive を使用しています。私のトレース テーブルは次のようになります。
各オブジェクトの各緯度経度を数値にマップしたい (たとえば、マップ マッチングについて考えてください) が、アルゴリズムは結果を得るために隣接するデータ ポイントの数を考慮する必要があります。たとえば、オブジェクト 1 の 3 つのデータ ポイントのそれぞれを数値にマッピングするには、3 つのデータ ポイントすべてが必要です。1つずつ処理することはできません。
変換を使用してハイブでマップリデュースを使用することを考えていますが、これの方法がわかりません。誰かが私を助けてくれますか?
jdbc - jdbc クライアントを介してハイブ udf を使用すると奇妙なエラーが発生する
全て。jdbc クライアントを介してハイブ udf を使用すると、奇妙なエラーが発生しました。
文字列を というタイムスタンプ形式に変換するのに役立つ udf がありますreformat_date
。私は最初に実行ADD JAR
しCREATE TEMPORARY FUNCTION
、両方とも正常に動作します。
SQLもhive cliモードで説明、実行できます。しかし、jdbc クライアントを使用すると、エラーが発生しました。
私のSQLは
ありがとう。
hive - Hive での日付比較
私はHiveで作業しており、次のような構造のテーブルを持っています:
t1
180 日未満のすべての行を見つける必要があります。次のクエリは、検索述語に一致するデータがテーブルに存在する場合でも、行を生成しません。
Hiveで日付比較を実行する適切な方法は何ですか?
hive - Hueを使用してローカルコンピューターからHiveDBにデータをアップロードする
HiveとHueを使用するのは比較的初心者です。
Hueを使用して、ラップトップに保存されたファイルをHiveのデータベーステーブルにアップロードする方法はありますか?私は本を調べてWebを精査してきましたが、答えが見つかりませんでした。
ハリー
hadoop - HiveQL UNION ALL
私はtable_Aを持っています:
テーブル_B:
私が欲しいのは、結合されたテーブルだけです:
これは私の.hqlです:
私は、Edward Capriolo などによる Programming Hive の 112 ページから直接コーディングしています。
私が試した上記の一見合理的なバリエーションに関係なく、私が得るエラーは
cannot recognize input near '.' 'id' ',' in select expression.
AS
両方のテーブルのすべてが必要なので、テーブル名とエイリアスの間でアスタリスクを使用してみました。同じエラー。他のことを試してみましたが、他のエラーが発生しました...やりたいのはUNION
2つのテーブルだけです。UNION
(代わりに試しましたUNION ALL
—同じエラー)。