So verarbeiten Sie Blob-Daten in MySQL

So verarbeiten Sie Blob-Daten in MySQL

Der spezifische Code lautet wie folgt:

Paket epoint.mppdb_01.h3c;
importiere java.io.File;
importiere java.io.FileInputStream;
importiere java.io.FileOutputStream;
importiere java.io.InputStream;
importiere java.io.OutputStream;
importiere java.net.URI;
importiere java.sql.Blob;
importiere java.sql.Connection;
importiere java.sql.DriverManager;
importiere java.sql.ResultSet;
importiere java.sql.Statement;
importiere org.apache.commons.net.ftp.FTPClient;
importiere org.apache.commons.net.ftp.FTPReply;
importiere org.apache.hadoop.conf.Configuration;
importiere org.apache.hadoop.fs.FSDataInputStream;
importiere org.apache.hadoop.fs.FileSystem;
importiere org.apache.hadoop.fs.Path;
importiere org.apache.hadoop.io.IOUtils;
öffentliche Klasse MySQLblobToMPPphoto {
  //MySQL-Verbindung öffentliche statische Verbindung getMySQLConnection() löst Exception aus {
    Zeichenfolge MySQLDRIVER = "com.mysql.jdbc.Driver";
    Zeichenfolge MySQLURL = "jdbc:mysql://192.168.186.13:3306/bigdata_scene03_rktj";
    Zeichenfolge MySQLUSERNAME = "root";
    Zeichenfolge MySQLPASSWORD = "Gepoint";
    Verbindung MySQLconn = DriverManager.getConnection(MySQLURL, MySQLUSERNAME, MySQLPASSWORD);
    MySQLconn zurückgeben;
  }
  //MPP-Verbindung öffentliche statische Verbindung getMPPConnection() löst Exception aus {
    Zeichenfolge MPPDRIVER = "com.MPP.jdbc.Driver";
    Zeichenfolge MPPURL = "jdbc:MPP://192.168.186.14:5258/bigdata_scene03_rktj";
    Zeichenfolge MPPUSERNAME = "mpp";
    Zeichenfolge MPPPASSWORD = "h3c";
    Verbindung MPPconn = DriverManager.getConnection(MPPURL, MPPUSERNAME, MPPPASSWORD);
    MPPconn zurückgeben;
  }
  //
  öffentliche statische void getMySQLblobToHDFS() wirft Ausnahme {
    Verbindung conn = getMySQLConnection();
    Ergebnismenge rs = null;
    versuchen {
      String SQL = "Wählen Sie ROW_ID, Foto aus t_rk_baseinfo_blob, Limit 10";
      Anweisung prest = conn.prepareStatement(sql);
      rs = prest.executeQuery(sql);
      während (rs.next()) {
        : Die Zeilen-ID wird wie folgt zurückgegeben:
        Blob-Foto = rs.getBlob(2);
        System.out.println(row_id + " " + Foto);
        InputStream in = foto.getBinaryStream();
        OutputStream out = neuer FileOutputStream("H:/foto/" + row_id + ".jpg");
        int länge = 0;
        byte[] Puffer = neues Byte[1024];
        während ((Länge = in.read(Puffer)) != -1) {
          out.write(Puffer, 0, Länge);
        }
        hochladen("H:/foto/" + row_id + ".jpg");
      }
      prest.schließen();
      rs.schließen();
    } Fang (Ausnahme e) {
      e.printStackTrace();
    Endlich
      // Verbindung schließen if (conn != null) {
        versuchen {
          Verbindung schließen();
          Verbindung = null;
        } Fang (Ausnahme e) {
          e.printStackTrace();
        }
      }
    }
  }
  öffentliche statische void main(String[] args) wirft Exception {
    getMySQLblobToHDFS();
  }
  //HDFS-Anhang hochladen public static void upload(String uploadpath) throws Exception {
    Konfiguration conf = neue Konfiguration();
    URI uri = neue URI("hdfs://192.168.186.14:8020");
    Dateisystem fs = FileSystem.get(uri, conf, "HDFS");
    Pfad resP = neuer Pfad (Uploadpfad);
    Pfad destP = neuer Pfad("/Foto");
    wenn (!fs.exists(destP)) {
      fs.mkdirs(ZielP);
    }
    fs.copyFromLocalFile(resP, destP);
    fs.schließen();
    System.out.println("************************");
    System.out.println("Upload erfolgreich!");
  }
  //HDFS-Anhang herunterladen public static void download() throws Exception {
    Konfiguration conf = neue Konfiguration();
    Zeichenfolge Ziel = "hdfs://192.168.186.14:/photo/11.png";
    Zeichenfolge lokal = "D://11.png";
    Dateisystem fs = FileSystem.get(URI.create(dest), conf, "hdfs");
    FSDataInputStream fsdi = fs.open(neuer Pfad(Ziel));
    OutputStream-Ausgabe = neuer FileOutputStream (lokal);
    IOUtils.copyBytes(fsdi, Ausgabe, 4096, wahr);
    System.out.println("************************");
    System.out.println("Download erfolgreich!");
  }
}

Zusammenfassen

Oben ist die Blob-Datenverarbeitungsmethode in MySQL, die ich Ihnen vorgestellt habe. Ich hoffe, sie wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Der Unterschied zwischen TEXT- und BLOB-Feldtypen in MySQL
  • MYSQL im Vergleich zu MSSQL lernen (IV) - BLOB-Datentyp
  • Lösung für das Problem des Einfügens von Daten in das Mysql-Longblob-Feld
  • Was ist Blob? Einführung in die MySQL-Blobgrößenkonfiguration
  • Der Mysql LONGBLOB-Typ speichert Binärdaten (Änderung + Debuggen + Sortieren)
  • Java implementiert das Einfügen von MySQL-Binärdateien, Blob-Typ, aufgetretene Probleme und Lösungen
  • PHP verwendet PDO, um große Datenmengen aus MySQL zu lesen

<<:  Tiefgreifendes Verständnis der Rolle von Vuex

>>:  Detaillierte Installation und Konfiguration von Subversion (SVN) unter Ubuntu

Artikel empfehlen

So erstellen Sie einen Nginx-Server mit Docker

Betriebsumgebung: MAC Docker-Version: Docker vers...

Warum MySQL das Löschen von Daten nicht empfiehlt

Inhaltsverzeichnis Vorwort InnoDB-Speicherarchite...

Detaillierte Erklärung der Beziehung zwischen Vue und VueComponent

Der folgende Fall überprüft die Wissenspunkte der...

Neue Funktionen von JS ES: Einführung in Erweiterungsoperatoren

1. Spread-Operator Der Spread-Operator besteht au...

Zwei Verwendungen von iFrame-Tags in HTML

Ich habe kürzlich an einem Projekt gearbeitet – B...

Analyse der Informationsarchitektur von Facebook

<br />Original: http://uicom.net/blog/?p=762...

Seltsame und interessante Docker-Befehle, die Sie vielleicht nicht kennen

Einleitung Stellt einige einfache und praktische ...

Bootstrap 3.0 Studiennotizen Grid-System-Fall

Vorwort Im vorherigen Artikel haben wir hauptsäch...