ハイブ記憶及び処理のMapReduce - データクリーニング(その2)

日付:2019年11月14日

ブログ期間:116

木曜日

 

  基本的な処理クラス

  

1つの インポートのjava.sql.Connection。
2  インポートのjava.sql.DriverManager。
3  インポートのjava.sql.PreparedStatement。
4  インポートのjava.sql.ResultSet。
5  インポートjava.sql.SQLExceptionという。
6  インポートjava.sql.Statementの。
7  インポートjava.util.ArrayListの。
8  インポートはjava.util.List;
9  
10  インポートcom.hive.basic.Bean。
11  
12  パブリック クラスSqlForBean {
 13      パブリック 静的文字列のデータベース名=「ハイブ」。//データベース名
14      パブリック 静的の文字列名=「ルート」が; // ログインしているユーザーデータベースのユーザー名
15      公共の 静的な文字列のパスワード=「nssxs2489615648」; // ログインデータベースユーザのパスワード
 16      // メソッドのインサート
17      のパブリック 静的な 無効INSERT(豆の豆)
 18である     {
 19。         トライ{
 20は              Class.forNameの( "はcom.mysql.jdbc.Driver")のnewInstance(); // MYSQLベースドライブ
21は、              接続コネチカットたDriverManager.getConnection =(「JDBC:MySQLの://127.0.0.1 :3306 /「+データベース名、ユーザ名、パスワード); // リンクローカルMYSQL           
22              文字列のSQL = "結果値への挿入(" ;
 23              SQL + = " ' "+ bean.getIp()+"'" ;
 24              SQL + = " ' "+ bean.getTime()+"'、" 25              SQL + = " ' "+ bean.getDay()+"'" ;
 26              SQL + = bean.getTraffic()+ "" ;
 27              SQL + =「 ' "+ bean.getType()+"'、 " ;
 28              SQL + = " ' "+ bean.getId()+"')" 29              
30              のPreparedStatementてpstmt = (のPreparedStatement)CONN。
prepareStatement(SQL)。31              pstmt.executeUpdate()。
32             pstmt.close();
33              
34              はconn.close();
35          } キャッチ(のSQLException E){
 36              e.printStackTrace();
37          } キャッチ(例外e){
 38              e.printStackTrace();
39          }
 40      }
 41      公共 静的 ボイドインサート(一覧<ビーン> list_bean)
 42      {
 43          のintサイズ= list_bean.size()。
44          のためにint型 ; I <サイズ++ iが0 = I)
 45         {
 46              SqlForBean.insert(list_bean.get(I))。
47          }
 48      }
 49      パブリック 静的リスト<ビーン> のgetData(){
 50          リストの<bean>リスト= 新規のArrayList <ビーン> ();
51          
52          トライ
53          {
 54              にClass.forName( "はcom.mysql.jdbc.Driver")のnewInstance()。// MYSQL驱动
55              の接続でCONN =したDriverManager.getConnection( "JDBCます。mysql://127.0.0.1:3306 /" +データベース名、ユーザ名、パスワード); // 链接本地MYSQL 
56             文字列のSQL = "結果SELECT * FROM" ;
57              ステートメントSTMT = conn.createStatement()。
58              のResultSet RS = stmt.executeQuery(SQL)。
59              一方(rs.next())
 60              {
 61                  列ip_s = rs.getString( "IP" )。
62                  列time_s = rs.getString( "時間" )。
63                  列day_s = rs.getString( "日" )。
64                  int型 traffic_s = rs.getInt( "トラフィック" )。
65                  列type_s = rs.getString( "タイプ" )。
                 ストリングID_S = rs.getString( "ID" )。
67                  豆の豆は= 新しいビーン(ip_s、time_s、day_s、traffic_s、type_s、ID_S)を、
68                  list.add(豆)。
69              }
 70          } キャッチ(ClassNotFoundExceptionが電子){
 71              e.printStackTrace();
72          } キャッチ(IllegalAccessExceptionが電子){
 73              e.printStackTrace();
74          } キャッチ(ないInstantiationException電子){
 75              e.printStackTrace();
76          } キャッチ(のSQLException E){
 77              e.printStackTrace();
78          }
 79          
80          リターンリスト。
81      }
 82 }
SqlForBean

 

おすすめ

転載: www.cnblogs.com/onepersonwholive/p/11861143.html