Zum Inhalt springen
hanse-computing.de
  • Moin
  • Über uns
  • Leistungen
  • Projekte
  • Neuigkeiten
  • Wissen
    • Netzwerktechniken
    • Systemadministration
    • Hardware-Spezifikationen
    • KI & Automatisierung
    • Glossar
      • Fachbegriffe
      • Programmiersprachen-Befehle
    • Datenbanken
    • IT-Grundlagen
    • Python: Grundlagen
    • Python: Datenstrukturen
    • Python: Dateien & IO
    • Python: Web & Frameworks
    • Python: Fehler & Debugging
    • Webentwicklung
    • Linux & Betriebssysteme
    • IT-Sicherheit
    • Cloud & Container
    • Tools & Software
    • Netzwerk: TCP/IP
    • Netzwerk: DNS & Dienste
    • Netzwerk: Sicherheit
    • Netzwerk: Tools
    • KI: Grundlagen
    • KI: Praxis
    • KI: LLM & Agenten
    • Hardware: Server
    • Hardware: Netzwerkgeräte
    • Hardware: Peripherie
    • Wiki-Startseite
    • Letzte Änderungen
    • Kategorie-Browser
    • Zufallsartikel
  • Infrastruktur
  • AI Easy Start
  • Test-Drive
  • Kontakt
  • Impressum
  • Datenschutz

Sprache auswählen

  • Deutsch (Deutschland)
  • English (United Kingdom)
  1. Aktuelle Seite:  
  2. Startseite
  3. Wissen
  4. Glossar
  5. Programmiersprachen-Befehle

Kafka-Befehle: Schnellreferenz für kafka-topics, Producer und Consumer

Apache Kafka ist eine verteilte Event-Streaming-Plattform, die 2011 bei LinkedIn entstand und seit 2012 Apache-Top-Level-Projekt ist. Kafka speichert Nachrichtenströme in Topics, die in Partitionen zerlegt und über mehrere Broker repliziert werden. Die Kommandozeilen-Werkzeuge liegen im bin/-Verzeichnis der Distribution und heißen auf Unix *.sh, unter Windows *.bat. Seit Kafka 2.8 läuft der Cluster im KRaft-Modus (KIP-500); Kafka 4.0 hat ZooKeeper vollständig entfernt.

Topics verwalten

kafka-topics.sh --bootstrap-server localhost:9092 --create --topic events --partitions 3 --replication-factor 1
kafka-topics.sh --bootstrap-server localhost:9092 --list
kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic events
kafka-topics.sh --bootstrap-server localhost:9092 --alter --topic events --partitions 6
kafka-topics.sh --bootstrap-server localhost:9092 --delete --topic events

--replication-factor darf die Anzahl der Broker nicht übersteigen; --describe zeigt Partitionen, Leader und Replikate.

Nachrichten senden und lesen

kafka-console-producer.sh --topic events --bootstrap-server localhost:9092
kafka-console-consumer.sh --topic events --from-beginning --bootstrap-server localhost:9092

Der Producer liest zeilenweise von der Standardeingabe. Mit --property parse.key=true --property key.separator=: lassen sich Schlüssel senden; beim Consumer zeigt --property print.key=true Schlüssel und Werte.

Consumer-Gruppen und Konfiguration

kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group mein-group
kafka-configs.sh --bootstrap-server localhost:9092 --alter --entity-type topics --entity-name events --add-config retention.ms=86400000

--describe --group zeigt den Lag (rückständige Nachrichten) jeder Partition. Mit kafka-configs.sh ändert man Laufzeit-Einstellungen wie die Aufbewahrungsdauer. Für Cluster-Spiegelung dient kafka-mirror-maker2.sh, für Stream-Verarbeitung die Bibliothek Kafka Streams.

Kafka ist der Datentransport in vielen Data-Pipelines: Spark Structured Streaming konsumiert Kafka direkt, und Hive lädt die Ströme in den Data Lake. Clients gibt es für viele Sprachen, etwa Python (confluent-kafka) oder Java. Die Skripte lassen sich klassisch per Bash automatisieren, Nachrichten werden häufig als JSON serialisiert.

Spark-Befehle: Schnellreferenz für spark-submit, pyspark und spark-sql

Apache Spark ist ein In-Memory-Cluster-Computing-Framework, das 2009 am UC-Berkeley-AMPLab von Matei Zaharia als Forschungsprojekt begann und 2013 Apache-Top-Level-Projekt wurde. Spark verarbeitet Daten über RDDs (Resilient Distributed Datasets) und die höherwertigen DataFrame/Dataset-APIs; zugehörige Module sind Spark SQL, MLlib, GraphX und Structured Streaming. Die Firma Databricks wurde 2013 von den Berkeley-Gründern ins Leben gerufen.

Jobs einreichen

spark-submit --master yarn --deploy-mode cluster --executor-memory 4g --num-executors 10 app.py
spark-submit --master local[*] --class org.example.Main --jars helper.jar app.jar
spark-submit --master k8s://https://cluster:6443 --conf spark.kubernetes.container.image=spark:3.5 app.py

--master wählt den Cluster-Manager (local[*], yarn, k8s://, Standalone); --executor-memory und --num-executors steuern die Ressourcen. Für Python-Anwendungen übergibt man eine .py-Datei, für Scala/Java ein JAR mit --class.

Interaktive Shells und SQL

pyspark --master local[2]
spark-shell --master local[2]
spark-sql -e "SELECT count(*) FROM t" -f abfrage.sql
spark-sql -i init.sql

pyspark ist die Python-REPL, spark-shell die Scala-REPL, spark-sql führt Hive-kompatible SQL-Abfragen aus (-e für Inline, -f für Dateien). In pyspark arbeitet man typischerweise mit einer SparkSession:

from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("demo").getOrCreate()
df = spark.read.csv("daten.csv", header=True)
df.filter(df.alter > 30).groupBy("stadt").count().show()
df.cache()

df.cache() bzw. persist(StorageLevel.MEMORY_AND_DISK) hält Zwischenergebnisse im Speicher; die Web-UI läuft standardmäßig auf localhost:4040.

Spark ist die häufigste Ausführungs-Engine hinter Hive und konsumiert mit Structured Streaming direkt aus Kafka. Die APIs gibt es nativ für Scala, Java und Python; Abfragen formuliert man in SQL.

Hive-Befehle: Schnellreferenz für Beeline und HiveQL

Apache Hive ist ein Data-Warehouse-System auf Basis von Apache Hadoop, das 2008 bei Facebook entstand und seit 2010 Apache-Top-Level-Projekt ist. Hive übersetzt die SQL-ähnliche Abfragesprache HiveQL in Jobs, die auf Hadoop-Clustern laufen — als Ausführungs-Engines dienen MapReduce, Tez oder Spark. Das Hive Metastore speichert Tabellenschemata in einer relationalen Datenbank; SerDes lesen und schreiben Formate wie Parquet, ORC, Avro und JSON.

Beeline: der moderne Client

beeline -u jdbc:hive2://localhost:10000/default -n nutzer -p passwort
beeline -u jdbc:hive2://localhost:10000/default -e "SHOW TABLES"
beeline -u jdbc:hive2://localhost:10000/default -f abfrage.sql

Beeline ist ein JDBC-Client (basiert auf SQLLine), der sich mit HiveServer2 verbindet — er ersetzt die alte Hive-CLI und unterstützt sowohl eingebetteten als auch Remote-Modus. Mit -e führt man Inline-SQL aus, mit -f ganze Skripte.

Typische HiveQL-Befehle

CREATE DATABASE IF NOT EXISTS analysen;
CREATE TABLE IF NOT EXISTS analysen.ereignisse (id INT, typ STRING)
PARTITIONED BY (tag STRING) STORED AS PARQUET;
LOAD DATA INPATH '/data/roh' INTO TABLE analysen.ereignisse PARTITION (tag='2026-08-30');
SELECT typ, count(*) FROM analysen.ereignisse WHERE tag='2026-08-30' GROUP BY typ;
INSERT OVERWRITE TABLE analysen.summary SELECT typ, count(*) FROM analysen.ereignisse GROUP BY typ;
SHOW TABLES;
DESCRIBE analysen.ereignisse;

Partitionen nach Datum sind in Hive Standard, damit Abfragen nur relevante Verzeichnisse scannen. Die Engine wählt man pro Session: SET hive.execution.engine=tez; (mögliche Werte mr, tez, spark). Das Metastore-Schema initialisiert man einmalig mit schematool -initSchema; Warehouse-Dateien liegen typischerweise unter /user/hive/warehouse im HDFS.

Hive-Tabellen liest auch Spark SQL über das gemeinsame Metastore; Streaming-Pipelines aus Kafka landen häufig in partitionierten Hive-Tabellen. Die Abfragesprache ähnelt stark SQL, das Metastore liegt oft in MySQL, und die Administration läuft über Bash-Skripte.

DynamoDB-Befehle: Schnellreferenz für die AWS-NoSQL-Datenbank

DynamoDB ist der verwaltete NoSQL-Dienst von Amazon Web Services: eine Key-Value- und Dokumentdatenbank, die sich ohne Serverbetrieb automatisch skaliert. Verwaltet wird sie über die AWS-CLI mit aws dynamodb ....

Tabellen anlegen und anzeigen

aws dynamodb create-table --table-name users     --attribute-definitions AttributeName=id,AttributeType=S     --key-schema AttributeName=id,KeyType=HASH     --billing-mode PAY_PER_REQUEST
aws dynamodb list-tables
aws dynamodb describe-table --table-name users

Der Primärschlüssel besteht aus einem Partition Key (HASH) und optional einem Sort Key (RANGE). PAY_PER_REQUEST (On-Demand) rechnet pro Anfrage; alternativ reserviert man Provisioned Capacity in Read/Write Capacity Units (RCU/WCU).

Daten lesen und schreiben

aws dynamodb put-item --table-name users     --item '{"id": {"S": "1"}, "name": {"S": "Ada"}, "jahr": {"N": "1843"}}'
aws dynamodb get-item --table-name users --key '{"id": {"S": "1"}}'
aws dynamodb update-item --table-name users     --key '{"id": {"S": "1"}}'     --update-expression "SET jahr = :j"     --expression-attribute-values '{":j": {"N": "1844"}}'
aws dynamodb delete-item --table-name users --key '{"id": {"S": "1"}}'

Datenwerte werden typisiert angegeben (S String, N Number, M Map, L Liste). query arbeitet zwingend über den Primärschlüssel, scan liest die ganze Tabelle (teuer!).

PartiQL und DynamoDB Local

aws dynamodb execute-statement     --statement "SELECT * FROM users WHERE id = '1'"
aws dynamodb execute-statement     --statement "INSERT INTO users VALUE {'id': {'S': '2'}, 'name': {'S': 'Grace'}}"

# Lokale Testinstanz (Port 8000)
aws dynamodb list-tables --endpoint-url http://localhost:8000

PartiQL ist eine SQL-ähnliche Abfragesprache für DynamoDB. Mit DynamoDB Local (Java-JAR von AWS) entwickelt man offline ohne Cloud-Kosten.

Praxis-Tipps

  • Standard ist eventually consistent; --consistent-read erzwingt starke Konsistenz.
  • batch-write-item schreibt bis zu 25 Items pro Aufruf.
  • TTL (Time to Live) löscht abgelaufene Einträge automatisch.

Verwandte Grundlagen: NoSQL-Datenbank, CouchDB-Befehle und Firebase-Befehle — beide sind verwaltete Cloud-Datenbanken (AWS beziehungsweise Google).

Firebase-Befehle: Schnellreferenz für Googles Backend-Plattform

Firebase ist Googles Backend-as-a-Service-Plattform (BaaS) für Web- und Mobile-Apps: Authentifizierung, Datenbanken, Storage, Cloud Functions und Hosting aus einer Hand. Die Kommandozeile übernimmt firebase (Node-basiert, npm install -g firebase-tools).

Projekt einrichten

firebase login                          # Browser-Login mit Google-Konto
firebase init                           # Assistent für Firestore, Functions, Hosting ...
firebase use --add                      # Projekt auswählen / hinzufügen
firebase apps:list                      # Registrierte Apps anzeigen

firebase init erzeugt die Konfigurationsdatei firebase.json und richtet die gewählten Dienste im Projektverzeichnis ein.

Deployen

firebase deploy                          # alles deployen
firebase deploy --only hosting           # nur statisches Hosting
firebase deploy --only functions         # nur Cloud Functions
firebase deploy --only firestore:rules   # nur Firestore-Security-Rules

Cloud Firestore ist die dokumentenorientierte NoSQL-Datenbank mit Echtzeit-Synchronisation; die ältere Realtime Database speichert Daten als JSON-Baum. Security Rules steuern, wer lesen und schreiben darf:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId} {
      allow read, write: if request.auth != null;
    }
  }
}

Lokal entwickeln und testen

firebase emulators:start                  # Emulatoren für Auth, Firestore, Functions
firebase emulators:exec "npm test"        # Tests gegen Emulatoren
firebase serve                            # lokales Hosting (Vorschau)

Die Emulatoren bilden die Cloud-Dienste lokal ab — so entstehen keine Kosten und keine echten Daten beim Entwickeln.

Praxis-Tipps

  • firebase functions:shell testet Functions interaktiv.
  • firebase firestore:delete --all-collections leert eine Datenbank.
  • Mit Firebase Authentication übernimmt Google das Passwort-, OAuth- und SSO-Management.

Verwandte Grundlagen: NoSQL-Datenbank, JavaScript-Befehle, DynamoDB-Befehle und JSON.

  1. CouchDB-Befehle: Schnellreferenz für die Dokumentdatenbank
  2. Why3-Befehle: Verifikationsplattform für Software mit WhyML
  3. HOL-Befehle: Interaktive Beweisassistenten für Higher-Order Logic
  4. ACSL-Befehle: C-Programme formal spezifizieren mit Frama-C

Seite 22 von 46

  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
hanse-computing.de

hanse-computing.de – KI-gestützte Dienstleistungen aus Lübeck.

hanse-computing.de
IT-Dienstleistungen aus der Hansestadt
Über uns · Projekte · Neuigkeiten · Affiliate
Impressum · Datenschutz
© 2026 hanse-computing.de
© 2026 hanse-computing Impressum Datenschutz