シナリオは次のとおりです。
Twitter データを格納する Hive テーブルがあるとします。
5 つの列があるとします。1 つの列はテキスト データです。
ここで、twitter テキスト データのセンチメント分析からのセンチメント値を格納する 6 番目の列をどのように追加しますか。Sentiment140 や virusheat などの感情分析 API を使用する予定です。
Hive で「派生」列を実装する方法に関するヒントをいただければ幸いです。
ありがとう。
シナリオは次のとおりです。
Twitter データを格納する Hive テーブルがあるとします。
5 つの列があるとします。1 つの列はテキスト データです。
ここで、twitter テキスト データのセンチメント分析からのセンチメント値を格納する 6 番目の列をどのように追加しますか。Sentiment140 や virusheat などの感情分析 API を使用する予定です。
Hive で「派生」列を実装する方法に関するヒントをいただければ幸いです。
ありがとう。
残念ながら、Hive APIではテーブルに新しい列を追加できますが(ALTER TABLE foo ADD COLUMNS(バーバイナリ)を使用)、これらの新しい列はNULLになり、入力できません。これらの列にデータを追加する唯一の方法は、テーブルの行をクリアし、新しいファイルからデータをロードすることです。この新しいファイルには、その新しい列のデータが含まれています。
あなたの質問に答えるために:あなたは、ハイブではできません。提案することを行うには、6列のファイルが必要です。6列目にはすでに感情分析データが含まれています。次に、これをHDFSにロードし、Hiveを使用してクエリを実行できます。
編集:新しい列を追加した後にテーブルを.csvとしてエクスポートし(上記を参照)、それをM $ Excelにポップして、テーブル値に対して関数を実行できる例を試してみました。関数を追加した後、.csvを保存してアップロードし、そこからテーブルを再構築しました。これが特に役立つかどうかはわかりませんが(感情分析をExcelで実行できる可能性は低いため)、Hiveで列を計算したいだけの人には役立つ可能性があります。
参照:
https://cwiki.apache.org/Hive/gettingstarted.html#GettingStarted-DDLOperations
http://comments.gmane.org/gmane.comp.java.hadoop.hive.user/6665
これは、別のテーブルを使用せずに 2 つの手順で行うことができます。手順:
警告: これは、クラスター化されたインストールではテストされていません。