具体代码如下所示:

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 {      // 关闭连接      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("下载成功!");  }}

更多相关文章

  1. Android(安卓)版本兼容 — Android(安卓)6.0 和 7.0后获取Mac地
  2. android 创建桌面快捷方式 、插件
  3. android源码下载方式
  4. 创建android逐帧动画的两种方式
  5. 【安卓笔记】android客户端与服务端交互的三种方式
  6. android触摸实现物体运动方式
  7. TabHost两种实现方式
  8. Android(安卓)RIL总体架构介绍
  9. Android-两种方式实现走马灯效果

随机推荐

  1. android基础:动画案例(图片翻转)
  2. Android面试-基础知识
  3. javascript获取Android设备版本信息(备忘)
  4. Android 删除SD卡文件和文件及创建文件夹
  5. Android的“垃圾回收机制”---智能指针(an
  6. (android 关机/重启)Android关机/重启流程
  7. Android ListView(Selector 背景图片)
  8. Android系统设置选项的包名
  9. Android(安卓)之改变窗体大小
  10. android 5.1 API简介