Lassen Sie uns darüber sprechen, wie Apache Avro-Daten analysiert werden (Erklärung mit Beispielen).

青灯夜游
Freigeben: 2022-02-22 10:47:16
nach vorne
3255 Leute haben es durchsucht

Wie analysiere ich Apache Avro-Daten? In diesem Artikel werden Ihnen die Methoden der Serialisierung zum Generieren von Avro-Daten, des Deserialisierens zum Parsen von Avro-Daten und die Verwendung von FlinkSQL zum Parsen von Avro-Daten vorgestellt.

Lassen Sie uns darüber sprechen, wie Apache Avro-Daten analysiert werden (Erklärung mit Beispielen).

Mit der rasanten Entwicklung des Internets sind Spitzentechnologien wie Cloud Computing, Big Data, künstliche Intelligenz und das Internet der Dinge in der heutigen Zeit zu Mainstream-Hightech-Technologien geworden, beispielsweise E-Commerce-Websites , Gesichtserkennung, fahrerlose Autos und Smartphones erleichtern nicht nur die Ernährung, Kleidung, Unterkunft und den Transport der Menschen, sondern dahinter stehen auch große Datenmengen, die von gesammelt, gelöscht und analysiert werden Dabei ist es besonders wichtig, dass Apache Avro selbst über Schema für die Binärübertragung serialisiert wird Andererseits wird Avro derzeit in verschiedenen Branchen immer häufiger verwendet. Je umfangreicher es ist, desto wichtiger ist die Verarbeitung und Analyse von Avro-Daten Verwenden Sie FlinkSQL zur Analyse.

Dieser Artikel ist eine Demo des Avro-Parsings. Derzeit ist FlinkSQL nur für das einfache Parsen von Avro-Daten geeignet.

Szeneneinführung

In diesem Artikel werden hauptsächlich die folgenden drei Hauptinhalte vorgestellt:

  • So serialisieren und generieren Sie Avro-Daten

  • So deserialisieren und analysieren Sie Avro-Daten

  • So verwenden Sie FlinkSQL zum Parsen von Avro-Daten

Voraussetzungen

  • Um zu verstehen, was Avro ist, können Sie sich die Kurzanleitung der offiziellen Apache-Avro-Website ansehen.

  • Avro-Anwendungsszenarien verstehen POM-Abhängigkeiten projektieren und konfigurieren

Der Inhalt der POM-Datei lautet wie folgt:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.huawei.bigdata</groupId>
    <artifactId>avrodemo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>org.apache.avro</groupId>
            <artifactId>avro</artifactId>
            <version>1.8.1</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.avro</groupId>
                <artifactId>avro-maven-plugin</artifactId>
                <version>1.8.1</version>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>schema</goal>
                        </goals>
                        <configuration>
                            <sourceDirectory>${project.basedir}/src/main/avro/</sourceDirectory>
                            <outputDirectory>${project.basedir}/src/main/java/</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
Nach dem Login kopieren

Hinweis: Die obige POM-Datei ist mit dem Pfad zur automatisch generierten Klasse konfiguriert, d. h.

Lassen Sie uns darüber sprechen, wie Apache Avro-Daten analysiert werden (Erklärung mit Beispielen).

projec t mai n /avr o/ und {project.basedir}/src/main/avro/ und p roj ec t. {project.basedir }/src/main/ java/. Nach dieser Konfiguration generiert dieses Plug-in beim Ausführen des mvn-Befehls automatisch eine Klassendatei aus dem avsc-Schema in diesem Verzeichnis und legt sie im letzteren Verzeichnis ab. Wenn das Avro-Verzeichnis nicht generiert wird, erstellen Sie es einfach manuell. 2. Schema definierenVerwenden Sie JSON, um das Schema für Avro zu definieren. Das Schema besteht aus Grundtypen (Null, Boolean, Int, Long, Float, Double, Bytes und String) und komplexen Typen (Record, Enum, Array, Map, Union und Fixed). Im Folgenden wird beispielsweise das Schema eines Benutzers definiert, ein Avro-Verzeichnis im Hauptverzeichnis erstellt und dann eine neue Datei user.avsc im Avro-Verzeichnis erstellt:

{"namespace": "lancoo.ecbdc.pre",
 "type": "record",
 "name": "User",
 "fields": [
     {"name": "name", "type": "string"},
     {"name": "favorite_number",  "type": ["int", "null"]},
     {"name": "favorite_color", "type": ["string", "null"]}
 ]
}
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:juejin.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!