具体的なコードは次のとおりです。 パッケージ epoint.mppdb_01.h3c; java.io.File をインポートします。 java.io.FileInputStream をインポートします。 java.io.FileOutputStream をインポートします。 java.io.InputStream をインポートします。 java.io.OutputStream をインポートします。 java.net.URI をインポートします。 java.sql.Blob をインポートします。 java.sql.Connection をインポートします。 java.sql.DriverManager をインポートします。 java.sql.ResultSet をインポートします。 java.sql.Statement をインポートします。 org.apache.commons.net.ftp.FTPClient をインポートします。 org.apache.commons.net.ftp.FTPReply をインポートします。 org.apache.hadoop.conf.Configuration をインポートします。 org.apache.hadoop.fs.FSDataInputStream をインポートします。 org.apache.hadoop.fs.FileSystem をインポートします。 org.apache.hadoop.fs.Path をインポートします。 org.apache.hadoop.io.IOUtils をインポートします。 パブリッククラスMySQLblobToMPPphoto { //MySQL 接続 public static Connection getMySQLConnection() throws Exception { 文字列 MySQLDRIVER = "com.mysql.jdbc.Driver"; 文字列 MySQLURL = "jdbc:mysql://192.168.186.13:3306/bigdata_scene03_rktj"; 文字列 MySQLUSERNAME = "root"; 文字列 MySQLPASSWORD = "Gepoint"; 接続 MySQLconn = DriverManager.getConnection(MySQLURL、MySQLUSERNAME、MySQLPASSWORD); MySQLconn を返します。 } //MPP接続 public static Connection getMPPConnection() throws Exception { 文字列 MPPDRIVER = "com.MPP.jdbc.Driver"; 文字列 MPPURL = "jdbc:MPP://192.168.186.14:5258/bigdata_scene03_rktj"; 文字列 MPPUSERNAME = "mpp"; 文字列 MPPPASSWORD = "h3c"; 接続 MPPconn = DriverManager.getConnection(MPPURL, MPPUSERNAME, MPPPASSWORD); MPPconn を返します。 } // パブリック静的void getMySQLblobToHDFS()は例外をスローします{ 接続 conn = getMySQLConnection(); 結果セット rs = null; 試す { 文字列 sql = "ROW_ID、photo を t_rk_baseinfo_blob から制限 10 で選択します"; ステートメント prest = conn.prepareStatement(sql); rs = prest.executeQuery(sql); (rs.next()) の間 { 行IDを1にする ブロブ写真 = rs.getBlob(2); System.out.println(row_id + " " + 写真); 入力ストリーム in = photo.getBinaryStream(); 出力ストリーム out = 新しい FileOutputStream("H:/photo/" + row_id + ".jpg"); 長さ = 0; byte[] buffer = 新しいbyte[1024]; ((len = in.read(buffer)) != -1) の間 { out.write(バッファ、0、長さ); } アップロード("H:/photo/" + row_id + ".jpg"); } プレストを閉じる(); rs.close(); } キャッチ (例外 e) { e.printStackTrace(); ついに // 接続を閉じる if (conn != null) { 試す { 接続を閉じる(); 接続 = null; } キャッチ (例外 e) { e.printStackTrace(); } } } } パブリック静的void main(String[] args)は例外をスローします{ MySQL の Blob を HDFS に取得します。 } //HDFS添付ファイルのアップロード public static void upload(String uploadpath) throws Exception { 構成 conf = new Configuration(); URI uri = 新しい URI("hdfs://192.168.186.14:8020"); ファイルシステム fs = FileSystem.get(uri, conf, "HDFS"); パス resP = new Path(uploadpath); パス destP = new Path("/photo"); (!fs.exists(destP))の場合{ fs.mkdirs(destP); } fs.copyFromLocalFile(resP, destP); fs.close(); System.out.println("************************"); System.out.println("アップロードに成功しました!"); } //HDFS添付ファイルのダウンロード public static void download() throws Exception { 構成 conf = new Configuration(); 文字列dest = "hdfs://192.168.186.14:/photo/11.png"; 文字列ローカル = "D://11.png"; ファイルシステム fs = FileSystem.get(URI.create(dest), conf, "hdfs"); FSDataInputStream fsdi = fs.open(新しいパス(dest)); 出力ストリーム output = new FileOutputStream(local); IOUtils.copyBytes(fsdi, 出力, 4096, true); System.out.println("************************"); System.out.println("ダウンロードに成功しました!"); } } 要約する 上記は、私が紹介したMySQLでのBLOBデータ処理方法です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
>>: Ubuntu での Subversion (SVN) の詳細なインストールと設定
中国初のカッター github.com/chokcocoまず、ここに画像があります。純粋な CSS ...
クラスターの展開の概要172.22.12.20 172.22.12.21 172.22.12.22 ...
成果を達成する実装コードhtml <input type="radio" ...
目次FormDataとは何ですか? vueとaxiosの協力による実践的な体験追加()セット()消去...
今日、小さなプログラムを書いていたときに、スクロールビューを使用したのですが、スクロールビュー内のテ...
<!DOCTYPE html> <html lang="ja"...
目次1. mixin の使い方は? 2. ミックスイン使用時の注意2.1. ミックスイン オブジェク...
目次ループ - for forループの基本的な使い方ループを終了するネストされたループ配列配列とは何...
まず、 (1)MySQL 5.7にはデフォルトのパスワードがあるデフォルトのパスワードを見つける g...
目次序文データのシミュレーション結合されたデータ合併のアイデアコードの表示と分析最初のステップステッ...
毎日のjQueryプラグイン - ステップ進捗軸 ステップ進捗軸ツール系のサイトでは入門チュートリア...
ハードウェア ビュー コマンドシステム # uname -a # カーネル/オペレーティング システ...
序文: MySQL では、ビューはおそらく最も一般的に使用されるデータベース オブジェクトの 1 つ...
これら 6 つの記事を書いた後、私は少し混乱し始めました。次にどこに書けばいいのか分かりません。ドメ...
目次導入始めるインストール①直接ダウンロードする方法②CND法③NPM方式④糸法NPMインストールの...