具体的なコードは次のとおりです。 パッケージ 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) の詳細なインストールと設定
この記事では、例を使用して、MySQL トリガーの追加、削除、変更、およびクエリ操作について説明しま...
ウェブサイトがワイドスクリーンの場合、ブラウザ ウィンドウを左右にドラッグすると、ウェブサイトの幅が...
起動していたDockerコンテナはメモリを使い果たした状態になっており、再起動せずにコンテナのメモリ...
1. ITミルツールキットIT Mill Toolkit は、リッチ Web アプリケーション用のウ...
この記事ではMySQL 8.0.12のインストールと設定方法を参考までに記録します。具体的な内容は以...
目次1. 共有共通モジュール2. 共有マテリアルモジュール3. 共有確認ダイアログ1. 共有共通モジ...
W3C は HTML の標準をいくつか確立していますが、ブラウザは独自の定義済みスタイルに従って W...
カルーセル主なアイデアは次のとおりです。大きなコンテナには、コンテナの幅の整数倍の非常に長いテーブル...
目次序文スロークエリログの設定テスト付録: ログ解析ツール mysqldumpslow要約する序文こ...
VueはRefを使用してレベル間でコンポーネントインスタンスを取得します例の紹介開発プロセスでは、レ...
mysql explain コマンドは、MySQL がインデックスを使用して選択ステートメントを処理...
MongoDB のインストール プロセスと問題記録1. MongoDBのインストールMongoDBを...
次のコマンドを実行します: glxinfo | grep レンダリング結果が「はい」の場合、グラフィ...
HTML5 では、ヘッダー、フッター、ナビゲーションなどのセマンティック タグが追加されているため...
今日は nginx サーバーを使用するのですが、vue プロジェクトをサーバーにデプロイする必要もあ...