ジュニアクラスのテストサマリー20191113

テスト対象:

  1、データクリーニング:クリーニング洗浄後のデータベースハイブ内のデータ、およびインポートデータに基づいインチ

  2 、データ処理:

・トップ10の訪問の統計で最も人気のあるビデオ/記事(ビデオ/記事)

・最も人気のある都市トップ10コースの統計によると(IP)

・トラフィック統計によると、トップ10で最も人気のあるコース(トラフィック)

  3 、データ視覚化:統計結果は、注ぎのMySQL データベースをグラフィカルな表示モードを介して展開。

  このテストの結果は非常に満足のいくものではない、ハイブは、テストの開始時間が得られ、急いでロードされた長い時間のために遅れて、常に問題となっています。

溶液プロセス:

  1.まず、クリーニングのための教師によって提供されたデータは、我々は画像で見ることができます

  音符にデータ点を抽出する画像にマークされている:1、スペースの後ろに分割シンボルコンマ、修正すべき2時間形式必要、コース番号3としたときに削除される必要があります。

  だから我々は、プロセスマップ、完全な抽出では、これら3つのことを解決することを決めました。

パブリック クラスマップ延びマッパー<オブジェクト、テキスト、テキスト、NullWritable>  
 // 値が入力されたキーは、出力データにコピーされ、直接出力地図   
{  
     公共 ボイドマップ(オブジェクトキーは、テキスト値、コンテキスト・コンテキスト)がスローIOExceptionが、 InterruptedExceptionある  
         // マップ機能を実現   
        {             
             // 取得し、各処理手順出力   
            列ライン= value.toStringを();   
            文字列ARR [] = line.split( "" );   
            
            // 抽出日付 
            列OLDDATA = ARR [1 ]; 
            文字列DataTemp [] = oldData.split( "/");
             IF(DataTemp .equals( "-NOV" [1] )){ 
                DataTemp [ = "11" 1] ; 
            } { 
                DataTemp [ 1] =" 1" ; // ファイルに加えて、月のない月したがって、他の場合は省略する
            } 
            列dataYear = DataTemp [2] .substring(0,4 ); 
            文字列dataTime = DataTemp [2] .substring(5,13 ); 
            文字列あるnewData = dataYear + " - " + DataTemp [1] + " - " + DataTemp [0] + "" + dataTime;
             // トラフィック 
            ストリングトラフィックARR = .replace [3]( ""、 "" );
            // メディアタイプ
            文字列型ARR = [4 ]。
            // IDの 
            文字列ID = ARR [5 ]。
            // 整合キー
             // 文字列の総和= "IP:" + ARR [0] + "日付: "+あるnewData +"、日: "+ ARR [2] +"、traffice: "+交通+"、種類:" +タイプ+ "ID:" + ID; 
            ストリング和= ARR [0] + " "+あるnewData +"、 "+ ARR [2] +"、 "+交通+"、 "+型+"、" + ID。
            // 只填写キー值、値值使用nullwrite类型代替 
            context.write(新しいテキスト(合計)、NullWritable.get());   
        }   
}  

  そして、HDFSで抽出された結果を表示します。それは、要件を満たしています

 

   そして、HDFSでのハイブにファイルをインポートするために、ハイブを開きます。まず、適切なテーブルを作成する必要があります。

 

   (インポートプロセスでは、ファイルは削除ため、HDFSになります)import文を使用して:LOAD DATA INPATH '/user/SuperMan/input/newresult.txt' INTO TABLE test1113 PARTITION(CREATE_TIME = '2019年11月13日' );

  表示結果:

 

   あなたはハイブにインポートされている見ることができます。

おすすめ

転載: www.cnblogs.com/heiyang/p/11852893.html