佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > mysql中blob數(shù)據(jù)處理方式

mysql中blob數(shù)據(jù)處理方式

熱門標(biāo)簽:百度競價排名 AI電銷 呼叫中心市場需求 服務(wù)外包 地方門戶網(wǎng)站 Linux服務(wù)器 網(wǎng)站排名優(yōu)化 鐵路電話系統(tǒng)

具體代碼如下所示:

package epoint.mppdb_01.h3c;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
public class MySQLblobToMPPphoto {
  // MySQL連接
  public static Connection getMySQLConnection() throws Exception {
    String MySQLDRIVER = "com.mysql.jdbc.Driver";
    String MySQLURL = "jdbc:mysql://192.168.186.13:3306/bigdata_scene03_rktj";
    String MySQLUSERNAME = "root";
    String MySQLPASSWORD = "Gepoint";
    Connection MySQLconn = DriverManager.getConnection(MySQLURL, MySQLUSERNAME, MySQLPASSWORD);
    return MySQLconn;
  }
  // MPP連接
  public static Connection getMPPConnection() throws Exception {
    String MPPDRIVER = "com.MPP.jdbc.Driver";
    String MPPURL = "jdbc:MPP://192.168.186.14:5258/bigdata_scene03_rktj";
    String MPPUSERNAME = "mpp";
    String MPPPASSWORD = "h3c";
    Connection MPPconn = DriverManager.getConnection(MPPURL, MPPUSERNAME, MPPPASSWORD);
    return MPPconn;
  }
  //
  public static void getMySQLblobToHDFS() throws Exception {
    Connection conn = getMySQLConnection();
    ResultSet rs = null;
    try {
      String sql = "select ROW_ID,photo from t_rk_baseinfo_blob limit 10";
      Statement prest = conn.prepareStatement(sql);
      rs = prest.executeQuery(sql);
      while (rs.next()) {
        int row_id = rs.getInt(1);
        Blob photo = rs.getBlob(2);
        System.out.println(row_id + " " + photo);
        InputStream in = photo.getBinaryStream();
        OutputStream out = new FileOutputStream("H:/photo/" + row_id + ".jpg");
        int len = 0;
        byte[] buffer = new byte[1024];
        while ((len = in.read(buffer)) != -1) {
          out.write(buffer, 0, len);
        }
        upload("H:/photo/" + row_id + ".jpg");
      }
      prest.close();
      rs.close();
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      // 關(guān)閉連接
      if (conn != null) {
        try {
          conn.close();
          conn = null;
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    }
  }
  public static void main(String[] args) throws Exception {
    getMySQLblobToHDFS();
  }
  // HDFS附件上傳
  public static void upload(String uploadpath) throws Exception {
    Configuration conf = new Configuration();
    URI uri = new URI("hdfs://192.168.186.14:8020");
    FileSystem fs = FileSystem.get(uri, conf, "HDFS");
    Path resP = new Path(uploadpath);
    Path destP = new Path("/photo");
    if (!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 {
    Configuration conf = new Configuration();
    String dest = "hdfs://192.168.186.14:/photo/11.png";
    String local = "D://11.png";
    FileSystem fs = FileSystem.get(URI.create(dest), conf, "hdfs");
    FSDataInputStream fsdi = fs.open(new Path(dest));
    OutputStream output = new FileOutputStream(local);
    IOUtils.copyBytes(fsdi, output, 4096, true);
    System.out.println("***********************");
    System.out.println("下載成功!");
  }
}

總結(jié)

以上所述是小編給大家介紹的mysql中blob數(shù)據(jù)處理方式,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • MySQL中TEXT與BLOB字段類型的區(qū)別
  • 與MSSQL對比學(xué)習(xí)MYSQL的心得(四)--BLOB數(shù)據(jù)類型
  • Mysql的longblob字段插入數(shù)據(jù)問題解決
  • 什么是blob,mysql blob大小配置介紹
  • Mysql LONGBLOB 類型存儲二進(jìn)制數(shù)據(jù) (修改+調(diào)試+整理)
  • java實現(xiàn)插入mysql二進(jìn)制文件,blob類型,遇到問題及解決辦法
  • PHP使用PDO從mysql讀取大量數(shù)據(jù)處理詳解

標(biāo)簽:銅川 湖南 黃山 崇左 湘潭 蘭州 仙桃 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql中blob數(shù)據(jù)處理方式》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    昂仁县| 资兴市| 陆川县| 仁布县| 临武县| 剑河县| 乐昌市| 平原县| 商南县| 黎平县| 自治县| 昆明市| 额济纳旗| 芒康县| 苏尼特左旗| 星子县| 夹江县| 呼图壁县| 滦南县| 淅川县| 崇阳县| 遂溪县| 巫溪县| 永登县| 隆昌县| 渭南市| 中超| 游戏| 江达县| 江源县| 八宿县| 沧源| 北海市| 宜阳县| 乾安县| 清镇市| 涞源县| 陆河县| 兴义市| 名山县| 布拖县|