2

Apache Flume を使用して、大量のツイートを Hadoop の HDFS にパイプしました。私はこのデータに対して感情分析を行おうとしていました - 肯定的な言葉と否定的な言葉の比較のように、最初は単純なものです。

私の問題は、それを行う方法を示すすべてのガイドに、肯定的な言葉と否定的な言葉のテキスト ファイルと、ツイートごとに巨大なテキスト ファイルがあることです。

Flume を使用していたので、すべてのデータは既に Hadoop にあります。localhost:50070 を使用してアクセスすると、月/日/時間に応じて個別のファイルにデータが表示され、各ファイルには 3 つまたは 4 つのツイートが含まれています。これらのファイルは、1 時間ごとにおそらく 50 個あります。どこにも書いてありませんが、JSON形式だと思います。

これを念頭に置いて、どのように分析を行うことができますか? Mapper と Reducer が記述された場所で私が見たすべての例では、これが実行された単一のファイルがあり、小さな JSON ファイルの大規模なコレクションではありませんでした。私の次のステップは何ですか?

4

2 に答える 2

1

この例から始めることができます https://github.com/cloudera/cdh-twitter-example

基本的に、hive 外部テーブルを使用して json データをマップし、hiveql を使用してクエリを実行します

于 2013-08-04T12:01:25.663 に答える
0

ディレクトリ内のすべてのファイルを処理する場合は、ディレクトリのパスを入力ファイルとして Hadoop ジョブに指定するだけで、そのディレクトリ内のすべてのファイルが入力と見なされます。

たとえば、小さなファイルがディレクトリ/user/flume/tweets/....にある場合、hadoop ジョブで入力ファイルとして/user/flume/tweets/を指定するだけです。

1 時間ごとに分析を自動化したい場合は、1 つの Oozie ワークフローを作成する必要があります。

Hive でのセンチメント分析については、以下のリンクを参照してください。

https://acadgild.com/blog/sentiment-analysis-on-tweets-with-apache-hive-using-afinn-dictionary/

于 2016-07-06T07:02:57.377 に答える