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

Beispiel für die Anpassung des Stils des Auswahlfelds für Formulardateien

Code kopieren Der Code lautet wie folgt: <!DOC...

MySQL ruft die aktuelle Datums- und Uhrzeitfunktion ab

Holen Sie sich das aktuelle Datum + die aktuelle ...

Verwendung von Kubernetes YAML-Dateien

Inhaltsverzeichnis 01 Einführung in YAML-Dateien ...

HTML-Tabellen-Tag-Tutorial (25): vertikales Ausrichtungsattribut VALIGN

In vertikaler Richtung können Sie die Zeilenausri...

Detaillierte Erklärung zur Verwendung von MySQL Online DDL

Inhaltsverzeichnis Text LOCK-Parameter ALGORITHMU...

Detaillierte Erklärung der neuen CSS-Eigenschaft display:box

1. Anzeige:Box; Wenn Sie diese Eigenschaft für ei...

So installieren Sie Postgres 12 + pgadmin im lokalen Docker (unterstützt Apple M1)

Inhaltsverzeichnis einführen Unterstützt Intel-CP...

MySQL Online-Übung zur Deadlock-Analyse

Vorwort Ich glaube, dass jeder beim Erlernen von ...

Ursachen und Lösungen für die Front-End-Ausnahme 502 Bad Gateway

Inhaltsverzeichnis 502 Bad Gateway Fehlerbildung ...