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

JS ES neue Funktionen Vorlagenzeichenfolge

Inhaltsverzeichnis 1. Was ist eine Vorlagenzeiche...

Hinweise zum MySQL-Datenbank-Sicherungsprozess

Heute habe ich mir einige Dinge im Zusammenhang m...

Was soll ich tun, wenn ich die Quelldatei einer Webseite nicht anzeigen kann?

F: Wenn Sie Outlook oder IE verwenden, wird beim ...

So implementieren Sie verschiebbare Komponenten in Vue

In diesem Artikel erfahren Sie, wie Sie ziehbare ...

Implementierung von zwei Basis-Images für die Docker-Bereitstellung von Go

1. golang:neuestes Basis-Image mkdir gotest Berüh...

Detaillierte Erklärung der HTML-Dokumenttypen

Meines ist: <!DOCTYPE html> Blog-Garten: &l...

Fallstudie zur Implementierung eines jQuery Ajax-Chatbots

Chatbots können viel manuelle Arbeit sparen und i...

Detaillierte Erklärung zur Verwendung von Router-View-Komponenten in Vue

Wenn Sie ein Vue-Projekt entwickeln, müssen Sie h...

Detailliertes Beispiel einer MySQL-Unterabfrage

Unterabfrageklassifizierung Klassifizierung nach ...