moderner – chatgpz.de – KI-Tools & Praxiswissen http://chatgpz.de Unabhängige Tests, Anleitungen und Hintergründe zu KI-Tools. Thu, 07 May 2026 18:43:05 +0000 de-DE hourly 1 https://wordpress.org/?v=6.4.2 234900186 Bau moderner EDA-Pipelines mit Pingouin http://chatgpz.de/data-analytics/bau-moderner-eda-pipelines-mit-pingouin/ http://chatgpz.de/data-analytics/bau-moderner-eda-pipelines-mit-pingouin/#respond Thu, 07 May 2026 18:43:05 +0000 https://chatgpz.de/data-analytics/bau-moderner-eda-pipelines-mit-pingouin/ [ad_1]

Bau moderner EDA-Pipelines mit Pingouin

# Einführung

Jeder, der sich schon lange mit Datenwissenschaft beschäftigt hat, lernt vielleicht früher oder später etwas: die goldene Regel der nachgelagerten Modellierung maschinellen Lernens, bekannt als Müll rein, Müll raus (GIGO).

Beispielsweise ist die Fütterung eines linearen Regressionsmodells mit hochgradig kollinearen Daten oder die Durchführung von ANOVA-Exams für heteroskedastische Varianzen das perfekte Rezept … für ineffektive Modelle, die nicht richtig lernen.

Explorative Datenanalyse (EDA) hat in Bezug auf Visualisierungen wie Streudiagramme und Histogramme viel zu sagen, sie reichen jedoch nicht aus, wenn wir eine strenge Validierung von Daten anhand der mathematischen Annahmen benötigen, die in nachgelagerten Analysen oder Modellen erforderlich sind. Pingouin hilft dabei, indem es die Lücke zwischen zwei bekannten Bibliotheken in den Bereichen Datenwissenschaft und Statistik schließt: SciPy Und Pandas. Darüber hinaus kann es ein großartiger Verbündeter beim Aufbau solider, automatisierter EDA-Pipelines sein. In diesem Artikel erfahren Sie, wie Sie eine ganzheitliche Pipeline für eine strenge, statistische EDA aufbauen und dabei mehrere wichtige Dateneigenschaften validieren.

# Ersteinrichtung

Stellen wir zunächst sicher, dass wir Pingouin in unserer Python-Umgebung installieren (und in Pandas, falls Sie es noch nicht haben):

!pip set up pingouin pandas

Danach ist es an der Zeit, diese Schlüsselbibliotheken zu importieren und unsere Daten zu laden. Als Beispiel für einen offenen Datensatz verwenden wir einen, der Proben von Weineigenschaften und deren Qualität enthält.

import pandas as pd
import pingouin as pg

# Loading the wine dataset from an open dataset GitHub repository
url = "https://uncooked.githubusercontent.com/gakudo-ai/open-datasets/refs/heads/fundamental/wine-quality-white-and-red.csv"
df = pd.read_csv(url)

# Displaying the primary few rows to know our options
df.head()

# Überprüfung der univariaten Normalität

Die erste der spezifischen explorativen Analysen, die wir durchführen werden, betrifft eine Überprüfung der univariaten Normalität. Viele herkömmliche Algorithmen zum Trainieren von Modellen für maschinelles Lernen – und statistische Exams wie ANOVAs und T-Exams – erfordern die Annahme, dass kontinuierliche Variablen einer Normalverteilung, auch bekannt als Gaußsche Verteilung, folgen. Pingouins pg.normality() Die Funktion hilft bei dieser Überprüfung durch einen Shapiro-Wilk-Check im gesamten Datenrahmen:

# Choosing a subset of steady options for normality checks
options = ('fastened acidity', 'risky acidity', 'citric acid', 'pH', 'alcohol')

# Operating the normality check
normality_results = pg.normality(df(options))
print(normality_results)

Ausgabe:

                         W          pval  regular
fastened acidity     0.879789  2.437973e-57   False
risky acidity  0.875867  6.255995e-58   False
citric acid       0.964977  5.262332e-37   False
pH                0.991448  2.204049e-19   False
alcohol           0.953532  2.918847e-41   False

Es scheint, als würde keines der verfügbaren numerischen Merkmale der Normalität genügen. Das ist keineswegs etwas Falsches an den Daten; es ist einfach ein Teil seiner Eigenschaften. Wir erhalten gerade die Nachricht, dass wir in späteren Datenvorverarbeitungsschritten über unsere EDA hinaus möglicherweise die Anwendung von Datentransformationen wie Log-Transformation oder Field-Cox in Betracht ziehen sollten, die die Rohdaten „normaler“ aussehen lassen und somit besser für Modelle geeignet sind, die von Normalität ausgehen.

# Überprüfung der multivariaten Normalität

Ebenso ist die Bewertung der Normalität nicht Merkmal für Merkmal, sondern die Berücksichtigung der Interaktion zwischen Merkmalen ein weiterer interessanter zu untersuchender Aspekt. Sehen wir uns an, wie man die multivariate Normalität überprüft: eine Schlüsselanforderung beispielsweise bei Techniken wie der multivariaten ANOVA (MANOVA).

# Henze-Zirkler multivariate normality check
multivariate_normality_results = pg.multivariate_normality(df(options))
print(multivariate_normality_results)

Ausgabe:

HZResults(hz=np.float64(23.72107048442373), pval=np.float64(0.0), regular=False)

Und raten Sie mal: Vielleicht bekommen Sie so etwas HZResults(hz=np.float64(23.72107048442373), pval=np.float64(0.0), regular=False)was bedeutet, dass auch die multivariate Normalität nicht gilt. Wenn Sie ein Modell für maschinelles Lernen anhand dieses Datensatzes trainieren möchten, bedeutet dies, dass nichtparametrische, baumbasierte Modelle wie Gradient Boosting und Random Forests möglicherweise eine robustere Different sind als parametrische, gewichtsbasierte Modelle wie SVM, lineare Regression usw.

# Überprüfung der Homoskedastizität

Als nächstes kommt ein kniffliges Wort für ein ziemlich einfaches Konzept: Homoskedastizität. Dies bezieht sich auf die gleiche oder konstante Varianz zwischen Fehlern in Vorhersagen und wird als Maß für die Zuverlässigkeit interpretiert. Wir werden diese Eigenschaft (leider ist es zu schwierig, ihren Namen noch einmal zu schreiben!) mit Pingouins Implementierung von Levenes Check wie folgt testen:

# Levene's check for equal variances throughout teams
# 'dv' is the goal, dependent variable, 'group' is the specific variable
homoscedasticity_results = pg.homoscedasticity(knowledge=df, dv='alcohol', group='high quality')
print(homoscedasticity_results)

Ergebnis:

                W          pval  equal_var
levene  66.338684  2.317649e-80      False

Seit wir es bekommen haben False Wieder einmal haben wir ein sogenanntes Heteroskedastizitätsproblem, das in nachgelagerten Analysen berücksichtigt werden sollte. Ein möglicher Weg könnte darin bestehen, beim Coaching von Regressionsmodellen robuste Standardfehler zu verwenden.

# Sphärizität prüfen

Eine weitere zu analysierende statistische Eigenschaft ist die Sphärizität, die angibt, ob die Varianzen der Unterschiede zwischen möglichen paarweisen Kombinationen von Bedingungen gleich sind. Das Testen dieser Eigenschaft ist in der Regel wünschenswert, bevor die Hauptkomponentenanalyse (PCA) zur Dimensionsreduktion durchgeführt wird, da sie uns hilft zu verstehen, ob Korrelationen zwischen Variablen bestehen. PCA wird ziemlich nutzlos, falls es keine gibt:

# Mauchly's sphericity check
sphericity_results = pg.sphericity(df(options))
print(sphericity_results)

Ergebnis:

SpherResults(spher=False, W=np.float64(0.004437706589942777), chi2=np.float64(35184.26583883276), dof=9, pval=np.float64(0.0))

Sieht so aus, als hätten wir uns für einen ziemlich unbezwingbaren, trockenen Datensatz entschieden! Aber keine Angst – dieser Artikel konzentriert sich bewusst auf den EDA-Prozess und hilft Ihnen dabei, viele Datenprobleme wie diese zu identifizieren. Letztendlich ist es weitaus besser, sie zu erkennen und zu wissen, was dagegen zu tun ist, bevor eine nachgelagerte Analyse durch maschinelles Lernen erfolgt, als ein potenziell fehlerhaftes Modell zu erstellen. In diesem Fall gibt es einen Haken: Wir haben einen p-Wert von 0,0, was bedeutet, dass die Nullhypothese einer Identitätskorrelationsmatrix abgelehnt wird, dh zwischen den Variablen bestehen sinnvolle Korrelationen. Wenn wir additionally viele Funktionen hätten und die Dimensionalität reduzieren wollten, könnte die Anwendung von PCA eine gute Idee sein.

# Überprüfung der Multikollinearität

Zuletzt prüfen wir die Multikollinearität: eine Eigenschaft, die angibt, ob es stark korrelierte Prädiktoren gibt. Dies könnte irgendwann zu einer unerwünschten Eigenschaft in interpretierbaren Modellen wie linearen Regressoren werden. Lass es uns überprüfen:

# Calculating a sturdy correlation matrix with p-values
correlation_matrix = pg.rcorr(df(options), technique='pearson')
print(correlation_matrix)

Ausgabematrix:

                 fastened acidity risky acidity citric acid     pH alcohol
fastened acidity                -              ***         ***    ***     ***
risky acidity         0.219                -         ***    ***      **
citric acid              0.324           -0.378           -    ***        
pH                      -0.253            0.261       -0.33      -     ***
alcohol                 -0.095           -0.038       -0.01  0.121       -

Während Pandas corr() kann ebenfalls verwendet werden, Pingouins Gegenstück verwendet Sternchen, um das statistische Signifikanzniveau jeder Korrelation anzuzeigen (* für p < 0,05, ** für p < 0,01 und *** für p < 0,001). Eine Korrelation kann statistisch signifikant, aber dennoch klein sein – Multikollinearität wird zu einem Downside, wenn der Absolutwert der Korrelation hoch ist (typischerweise über 0,8). In unserem Fall ist keine der paarweisen Korrelationen gefährlich groß, da alle fünf bewerteten Merkmale weitgehend überlappungsfreie, eindeutige eigene Informationen für weitere Analysen liefern.

# Zusammenfassung

Anhand einer Reihe von Beispielen, die einzeln angewendet und erklärt wurden, haben wir gesehen, wie wir das Potenzial von Pingouin, einer Open-Supply-Python-Bibliothek, freisetzen können, um robuste, moderne EDA-Pipelines auszuführen, die Ihnen dabei helfen, bessere Entscheidungen bei der Datenvorverarbeitung und nachgelagerten Analysen auf der Grundlage fortgeschrittener statistischer Exams oder Modelle für maschinelles Lernen zu treffen und Ihnen dabei zu helfen, die richtigen Aktionen auszuwählen und die richtigen Modelle zu verwenden.

Iván Palomares Carrascosa ist ein führender Autor, Redner und Berater in den Bereichen KI, maschinelles Lernen, Deep Studying und LLMs. Er schult und leitet andere darin, KI in der realen Welt zu nutzen.

[ad_2]

]]>
http://chatgpz.de/data-analytics/bau-moderner-eda-pipelines-mit-pingouin/feed/ 0 18387
Tech Stack für die Vibe-Codierung moderner Anwendungen http://chatgpz.de/data-analytics/tech-stack-fuer-die-vibe-codierung-moderner-anwendungen/ http://chatgpz.de/data-analytics/tech-stack-fuer-die-vibe-codierung-moderner-anwendungen/#respond Fri, 06 Feb 2026 00:30:41 +0000 http://chatgpz.de/data-analytics/tech-stack-fuer-die-vibe-codierung-moderner-anwendungen/ [ad_1]

Tech Stack für die Vibe-Codierung moderner Anwendungen
Bild vom Autor

Früher habe ich Vibe-Coding gehasst. Ich glaubte, ich könnte besseren Code schreiben, sauberere Systeme entwerfen und selbst durchdachtere Architekturentscheidungen treffen. Das dürfte lange Zeit so gewesen sein. Im Laufe der Zeit änderten sich die Dinge. KI-Agenten haben sich deutlich verbessert. MCP-Server, Claude-Fähigkeiten, Agenten-Workflows, Planungs-First-Execution und Codierungstools mit langem Horizont machten die Vibe-Codierung von einer Spielerei zu einer praktischen Möglichkeit, echte Systeme aufzubauen.

Irgendwann habe ich nachgegeben. Seitdem verwende ich Claude Code und OpenCode, um Systeme zu erstellen, die ich normalerweise für zu komplex für eine schnelle Iteration halten würde. Dazu gehören Zahlungsplattformen, Stablecoin-Wallets, Buchleseanwendungen und produktionsbereite Full-Stack-Websysteme. Was mich überraschte, struggle nicht nur die Geschwindigkeit, sondern auch die Konsistenz der Ergebnisse, sobald die richtige Struktur und die richtigen Instruments vorhanden waren.

Das eigentliche Drawback, mit dem die meisten Menschen bei der Vibe-Codierung konfrontiert sind, besteht nicht darin, Code zu schreiben.

Es kommt auf die Wahl des richtigen Tech-Stacks an.

Frontend, Backend, Authentifizierung, Datenbanken, Speicher, E-Mail, Zahlungen und Bereitstellung bieten unzählige Optionen. Ohne einen klaren Stack fällt es selbst starken KI-Programmierern schwer, gute Entscheidungen zu treffen. Wenn einem Agenten ein klar definierter und fundierter Technologie-Stack zur Verfügung gestellt wird, kann er zuverlässig und mit weitaus weniger Reibungsverlusten eine Finish-to-Finish-Anwendung erstellen.

Darauf konzentriert sich dieser Artikel.

Ich werde meinen bevorzugten Tech-Stack für die Vibe-Codierung moderner Anwendungen durchgehen. Das ist der Stack, den ich wiederverwende, weil er funktioniert. Wir besprechen, wie die Teile zusammenpassen, wofür jedes Werkzeug verantwortlich ist und wie man von Null zu einem produktionsbereiten System gelangt. Außerdem werde ich eine Claude-Code-Beispielaufforderung und optionale Instruments vorstellen, die dabei helfen, einen funktionierenden Prototyp in ein produktionsreifes System umzuwandeln.

# Mein Tech-Stack und warum dieser Stack funktioniert

In diesem Abschnitt werde ich den genauen Tech-Stack, den ich für die Vibe-Codierung verwende, aufschlüsseln und erklären, warum diese Instruments beim Erstellen realer Anwendungen so intestine zusammenarbeiten.

Der Stapel

  • Subsequent.js (App-Router) -> Frontend und Layouts
  • shadcn/ui -> UI-Komponenten
  • Serveraktionen + Routen -> Backend-Logik und Webhooks
  • Supabase -> Datenbank, Authentifizierung, Speicher
  • Erneut senden -> Transaktions-E-Mails
  • Streifen -> Zahlungen und Abonnements
  • Vercel -> Bereitstellung und Vorschau

Dieser Stapel ist bewusst einfach gehalten. Sie können das kostenlose Kontingent jeder hier aufgeführten Plattform nutzen, was es splendid für Einsteiger macht. Sie können eine vollständige Anwendung kostenlos auf Vercel bereitstellen und verwaltete Dienste ohne Vorabkosten verbinden.

Warum dieser Stapel skaliert werden kann, ohne dass es zu Unordnung kommt

Zwei Subsequent.js-Grundelemente übernehmen die meiste Arbeit, wenn die App wächst:

  1. Serveraktionen Behandeln Sie Formularübermittlungen und serverseitige Mutationen. Sie sorgen dafür, dass Datenschreibvorgänge nahe an der Benutzeroberfläche erfolgen und viele Textbausteine ​​entfernt werden, die normalerweise früh auftauchen.
  2. Routenhandler Behandeln Sie Webhooks, Gesundheitsprüfungen und benutzerdefinierte Endpunkte. Dies gibt Ihnen einen sauberen Ort, an dem externe Systeme mit Ihrer App kommunizieren können, ohne Ihre UI-Logik zu verschmutzen.

Supabase bietet Ihnen Datenbank, Authentifizierung und Speicherung mit einem Sicherheitsmodell, das nah an den Daten ist. Wenn Sie die Sicherheit auf Zeilenebene frühzeitig aktivieren, bleibt die Autorisierung konsistent, wenn das System wächst, und Sie vermeiden spätere mühsame Migrationen.

Erneut senden sorgt dafür, dass Transaktions-E-Mails einfach und umgebungsorientiert sind.

Streifenkasse In Kombination mit Webhooks erhalten Sie eine zuverlässige Möglichkeit, Zahlungen in echte Ansprüche umzuwandeln, statt in verstreute Function-Flags.

Vercel sorgt dafür, dass Vorschau- und Produktionsbereitstellungen aufeinander abgestimmt sind, sodass Sie vom ersten Tag an in realen Umgebungen testen können.

Dieser Stack eignet sich intestine für die Vibe-Codierung, da er eigensinnig und vorhersehbar ist und für einen KI-Coding-Agenten leicht nachvollziehbar ist. Sobald die Grenzen klar sind, baut sich das System quick von selbst auf.

# Bauen Sie einen Plan von Null auf einen bezahlten MVP auf

Dieser Construct-Plan ist für die Vibe-Codierung mit echten Instruments konzipiert. Das Ziel ist es, eine zu bekommen zunächst ein serienreifes Grundgerüstund fügen Sie dann in kleinen Phasen Funktionen hinzu, ohne frühere Entscheidungen zu zerstören. Jede Section ist direkt dem von Ihnen verwendeten Stack zugeordnet, sodass ein KI-Coding-Agent sie von Anfang bis Ende verfolgen kann.

Section 1: MVP-Gründung

Bauen Sie den vollständigen Produktkreislauf mit minimalem Umfang auf.

  • Aufstellen Subsequent.js (App-Router) Projekt mit Vercel Einsatz
  • Dashboard-Shell und Navigation mit shadcn/ui
  • Authentifizierungsflüsse mit Supabase-Auth (Anmelden, Anmelden, Zurücksetzen)
  • Eine zentrale benutzereigene Tabelle in Supabase Postgres
  • CRUD-Bildschirme powered by Subsequent.js-Serveraktionen
  • Vorschau der Bereitstellungen bei jeder Änderung über Vercel

Am Ende dieser Section verfügen Sie bereits über eine nutzbare App, die in der Produktion läuft, auch wenn der Funktionsumfang gering ist.

Section 2: Datensicherheit und Zugriffskontrolle

Sperren Sie Benutzerdaten, bevor Sie weitere Funktionen hinzufügen.

  • Aktivieren Sicherheit auf Zeilenebene auf benutzereigenen Tabellen in Supabase
  • Definieren Sie Lese- und Schreibrichtlinien basierend auf dem Eigentum
  • Verwenden Sie konsistente Muster wie „owner_id“, „created_at“, „update_at“.
  • Validieren Sie Zugriffsregeln durch echte UI-Abläufe, nicht nur durch SQL

Diese Section verhindert zukünftige Umschreibungen und sorgt dafür, dass die Sicherheit an der tatsächlichen Funktionsweise der App ausgerichtet ist.

Section 3: E-Mail und Speicherung

Fügen Sie Vertrauen und Dateiverwaltung hinzu.

  • Transaktions-E-Mails über Erneut senden (Willkommen, Verifizierung, Zurücksetzen)
  • Verwendung privater Speichereimer Supabase-Speicher
  • Laden Sie Flows hoch, die dieselben Eigentumsregeln wie Ihre Datenbank berücksichtigen
  • Signierte URLs oder kontrollierter Zugriff basierend auf der Benutzeridentität

Ab diesem Zeitpunkt fühlt sich das Produkt vollständig statt experimentell an.

Section 4: Abrechnung und Ansprüche

Verwandeln Sie Nutzung in Umsatz.

  • Erstellen Streifenkasse Sitzungen und Umleitung von Benutzern
  • Handhaben Stripe-Webhooks mit Subsequent.js-Routenhandlern
  • Speichern Sie den Abonnement- oder Kaufstatus in Supabase
  • Erhalten Sie Premium-Funktionen basierend auf gespeicherten Berechtigungen
  • Machen Sie die Webhook-Verarbeitung mithilfe verarbeiteter Ereignis-IDs idempotent

Am Ende dieser Section verfügen Sie über einen kostenpflichtigen MVP, der skaliert werden kann, ohne die Kernarchitektur zu ändern.

# Claude Code Starter-Eingabeaufforderung

Sie können ersetzen „Buchladen + Reader MVP“ mit Ihrer eigenen Idee über die gleiche Claude-Code-Eingabeaufforderung.

Construct a **E-book Store + Reader MVP** utilizing this stack:
- Subsequent.js App Router  
- shadcn/ui  
- Supabase (Postgres, Auth, Storage)  
- Resend  
- Stripe (Checkout + webhooks)  
- Vercel  

## Aim
Ship a production-ready E-book Store and Reader with paid entry.

## Construct
- Public pages: touchdown, pricing, ebook checklist  
- Auth: enroll, register, reset password  
- Protected app: reader dashboard  

## Information
- `books`, `chapters`
- Row Degree Safety so customers entry solely their very own information

## Options
- CRUD by way of Server Actions  
- Reader view with progress monitoring  
- Non-public storage for ebook property  
- Welcome e-mail  
- Stripe Checkout + webhook-based entitlements  

## Output
- Clear app construction
- Minimal dependencies
- README with setup, env vars, migrations, Stripe, and Vercel steps
- Handbook verification guidelines per characteristic

Sie müssen lediglich auf Claude Code umsteigen Planmodusfügen Sie die Eingabeaufforderung ein und ändern Sie die Idee oder passen Sie den Umfang entsprechend Ihren Anforderungen an.

Sobald Sie beginnen, plant Claude zunächst das System und beginnt dann Schritt für Schritt ohne Reibungsverluste mit dem Aufbau. Außerdem werden Sie durch die Einrichtung erforderlicher Dienste, die Erstellung von Konten auf Plattformen von Drittanbietern und die Generierung von API-Schlüsseln bei Bedarf geführt.

Dies macht es einfach, von einer Idee zu einer funktionierenden Anwendung zu gelangen, ohne bei der Einrichtung oder den Entscheidungen hängenzubleiben.

# Optionale Instruments

Diese Instruments sind für die Auslieferung der ersten Model nicht erforderlich, helfen Ihnen jedoch beim Testen, Überwachen und Härten der Anwendung, während sie im realen Einsatz wächst.

Kategorie Werkzeugoptionen Wobei es hilft Wann soll es hinzugefügt werden?
Unit-Exams Vitest Schnelle Exams für Dienstprogramme und Serverlogik Sobald das Kern-CRUD funktioniert
Komponententests React Testing-Bibliothek Erfassen Sie UI-Regressionen in Formularen und Zuständen Nachdem sich das Armaturenbrett stabilisiert hat
Finish-to-Finish-Exams Dramatiker Vollständige Benutzerabläufe: Anmelden → Erstellen → Bezahlen Bevor Sie weitere Funktionen hinzufügen
Fehlerverfolgung Posten Stack-Traces, Launch-Zustand, Alarmierung Sobald echte Benutzer eintreffen
Protokolle Axiom oder Logtail Durchsuchbare Anforderungsprotokolle, Webhook-Debugging Wenn Webhooks und Abrechnung stay gehen
Leistungskontrollen Leuchtturm (CI) Erfassen Sie langsame Seiten und übergroße Pakete Bevor das Advertising and marketing startet
Schema und Migrationen Drizzle Equipment oder SQL-Migrationen Wiederholbare Schemaänderungen Sobald Sie mehr als 2 Tische haben
Hintergrundjobs Inngest oder Set off.dev Asynchrone Arbeit: E-Mails, Exporte, Bereinigung Wenn Arbeitsabläufe über Anfragen hinausgehen
Ratenbegrenzung Upstash Redis (oder ähnlich) Schützen Sie Authentifizierungsendpunkte und Webhooks Wenn Verkehr actual wird
Produktanalyse PostHog (oder ähnlich) Trichter, Aktivierung, Funktionsnutzung Nachdem Sie wissen, was Sie messen

# Letzte Gedanken

Moderne Entwicklungs- und Engineering-Instruments entwickeln sich schnell weiter. Die meisten von ihnen sind mittlerweile auf die KI-Integration ausgelegt und bieten eine gute Dokumentation, APIs und Zugriff im MCP-Stil, sodass KI-Agenten direkt mit ihnen zusammenarbeiten und Software program schneller als je zuvor erstellen können.

Wenn Sie ein Datenwissenschaftler sind, der sich noch nie mit Webentwicklung beschäftigt hat, oder ein absoluter Anfänger, der etwas Reales aufbauen oder ein Startup gründen möchte, empfehle ich dringend, mit diesem Tech-Stack zu beginnen. Es erfordert nur minimale Einrichtung und ermöglicht die nahezu sofortige Bereitstellung einer funktionierenden Anwendung.

Ich habe quick drei Monate gebraucht, um Instruments zu testen und zu vergleichen, bevor ich mich für diesen Stack entschieden habe. Wenn Sie hier beginnen, sparen Sie diese Zeit.

Wenn Sie später mehr Flexibilität wünschen, können Sie die Dinge aufteilen. Verwenden Sie zum Beispiel Neon für die Datenbank, Sachbearbeiter zur Authentifizierung und lassen Sie alles andere gleich. Wenn Ihr System wächst, können Sie durch die Aufteilung der Verantwortlichkeiten auf mehrere Instruments einfacher ein Teil ersetzen, ohne den Relaxation zu beschädigen.

Beginnen Sie einfach, liefern Sie früh aus und entwickeln Sie sich nur dann weiter, wenn Sie es brauchen.

Abid Ali Awan (@1abidaliawan) ist ein zertifizierter Datenwissenschaftler, der gerne Modelle für maschinelles Lernen erstellt. Derzeit konzentriert er sich auf die Erstellung von Inhalten und das Schreiben technischer Blogs zu maschinellem Lernen und Datenwissenschaftstechnologien. Abid verfügt über einen Grasp-Abschluss in Technologiemanagement und einen Bachelor-Abschluss in Telekommunikationstechnik. Seine Imaginative and prescient ist es, ein KI-Produkt mithilfe eines graphischen neuronalen Netzwerks für Schüler mit psychischen Erkrankungen zu entwickeln.

[ad_2]

]]>
http://chatgpz.de/data-analytics/tech-stack-fuer-die-vibe-codierung-moderner-anwendungen/feed/ 0 16099
Erstellen moderner Daten -Lakehouses in Google Cloud mit Apache Iceberg und Apache Spark http://chatgpz.de/data-analytics/erstellen-moderner-daten-lakehouses-in-google-cloud-mit-apache-iceberg-und-apache-spark/ http://chatgpz.de/data-analytics/erstellen-moderner-daten-lakehouses-in-google-cloud-mit-apache-iceberg-und-apache-spark/#respond Wed, 09 Jul 2025 09:08:10 +0000 http://chatgpz.de/data-analytics/erstellen-moderner-daten-lakehouses-in-google-cloud-mit-apache-iceberg-und-apache-spark/ [ad_1]

Gesponserte Inhalte

Eisberg, Google Cloud, Apache Spark

Die Landschaft von Huge Knowledge Analytics entwickelt sich ständig weiter. Unternehmen suchen flexiblere, skalierbare und kostengünstigere Möglichkeiten, um große Datenmengen zu verwalten und zu analysieren. Diese Verfolgung hat zum Anstieg des Daten-Lakehouse-Paradigmas geführt, das die kostengünstige Speicherung und Flexibilität von Datenseen mit den Datenverwaltungsfunktionen und der Transaktionskonsistenz von Datenlagern kombiniert. Im Zentrum dieser Revolution stehen offene Tabellenformate wie Apache Iceberg und leistungsstarke Verarbeitungsmotoren wie Apache Spark, die alle durch die robuste Infrastruktur von Google Cloud gestärkt werden.

Der Aufstieg von Apache Iceberg: Ein Recreation-Changer für Datenseen

Seit Jahren boten Knowledge Lakes, die in der Regel auf Cloud -Objektspeicher wie Google Cloud Storage (GCS) basieren, beispiellose Skalierbarkeit und Kosteneffizienz. Es fehlten ihnen jedoch häufig die entscheidenden Merkmale, die in herkömmlichen Datenlagern wie Transaktionskonsistenz, Schemaentwicklung und Leistungsoptimierungen für analytische Abfragen gefunden wurden. Hier glänzt Apache Iceberg.

Apache Iceberg ist ein offenes Tabellenformat, das diese Einschränkungen angeht. Es befindet sich oben in Ihren Datendateien (wie Parquet, ORC oder AVRO) im Cloud-Speicher und bietet eine Metadatenschicht, die eine Sammlung von Dateien in eine Hochleistungs-SQL-ähnliche Tabelle umwandelt. Folgendes macht Eisberg so mächtig:

  • Säurekonformität: Iceberg bringt Atomizität, Konsistenz, Isolation und Haltbarkeit (Säure) in Ihren Datensee. Dies bedeutet, dass Datenschreibvorgänge transaktional sind und die Datenintegrität auch bei gleichzeitigen Operationen sicherstellen. Keine teilweisen Schreibvorgänge oder inkonsistenten Lesevorgänge mehr.
  • Schemaentwicklung: Einer der größten Schmerzpunkte in traditionellen Datenseen ist die Verwaltung von Schemaveränderungen. Iceberg übernimmt nahtlos die Schemaentwicklung und ermöglicht es Ihnen, Spalten hinzuzufügen, zu fallen, umzubenennen oder neu zu ordnen, ohne die zugrunde liegenden Daten neu zu schreiben. Dies ist für die agile Datenentwicklung von entscheidender Bedeutung.
  • Versteckte Partitionierung: Iceberg verwaltet clever die Partitionierung und entzieht das physische Format Ihrer Daten ab. Benutzer müssen das Partitionierungsschema nicht mehr kennen, um effiziente Abfragen zu schreiben, und Sie können Ihre Partitionierungsstrategie im Laufe der Zeit ohne Datenmigrationen weiterentwickeln.
  • Zeitreisen und Rollback: Iceberg hält eine vollständige Geschichte von Tischschnappschüssen. Auf diese Weise können Sie „Zeitreisen“ -Anfragen ermöglichen, sodass Sie Daten in der Vergangenheit abfragen können. Es bietet auch Rollback -Funktionen, mit denen Sie eine Tabelle in einen früheren guten Zustand zurückversetzen können, der für das Debuggen und die Datenwiederherstellung von unschätzbarem Wert von unschätzbarem Zustand ist.
  • Leistungsoptimierungen: Mit der reichen Metadaten von Iceberg können Abfragemotoren irrelevante Datendateien und Partitionen effizient beschneiden und die Abfrageausführung erheblich beschleunigen. Es vermeidet kostspielige Dateilistenvorgänge und springt direkt zu den relevanten Daten basierend auf seinen Metadaten.

Durch die Bereitstellung dieser Knowledge Warehouse-ähnlichen Funktionen auf einem Datensee ermöglicht Apache Iceberg die Erstellung eines echten „Knowledge Lakehouse“, der das Beste aus beiden Welten bietet: die Flexibilität und Kostenwirksamkeit der Cloud-Speicherung in Kombination mit der Zuverlässigkeit und Leistung strukturierter Tabellen.

Google Clouds Biglake -Tabellen für Apache Iceberg in BigQuery Bietet ein voll verwaltetes Tabellenerlebnis, das den Normal-BigQuery-Tabellen ähnelt, aber alle Daten werden in kundenbesitzenden Speicherömer gespeichert. Assist -Funktionen umfassen:

  • Tabellenmutationen über Googlesql Knowledge Manipulationssprache (DML)
  • Einheitlicher Stapel und hoher Durchsatz -Streaming mit der Speicher -Schreibapi durch Biglake -Anschlüsse wie Spark
  • ICEBERG V2 SNAPSHOT -Export und automatische Aktualisierung auf jeder Tabellenmutation
  • Schema -Evolution, um die Spaltenmetadaten zu aktualisieren
  • Automatische Speicheroptimierung
  • Zeitreisen für historische Datenzugriff
  • Sicherheits- und Datenmaskierung auf Spaltenebene

Hier ist ein Beispiel dafür, wie man mit Googlesql eine leere Biglake -Eisberg -Tabelle erstellt:


SQL

CREATE TABLE PROJECT_ID.DATASET_ID.my_iceberg_table (
  identify STRING,
  id INT64
)
WITH CONNECTION PROJECT_ID.REGION.CONNECTION_ID
OPTIONS (
file_format="PARQUET"
table_format="ICEBERG"
storage_uri = 'gs://BUCKET/PATH');

Du kannst dann Daten importieren in die Daten verwenden LOAD INTO Daten aus einer Datei importieren oder INSERT INTO aus einem anderen Tisch.


SQL

# Load from file
LOAD DATA INTO PROJECT_ID.DATASET_ID.my_iceberg_table
FROM FILES (
uris=('gs://bucket/path/to/knowledge'),
format="PARQUET");

# Load from desk
INSERT INTO PROJECT_ID.DATASET_ID.my_iceberg_table
SELECT identify, id
FROM PROJECT_ID.DATASET_ID.source_table

Zusätzlich zu einem vollständig verwalteten Angebot wird Apache Iceberg als Lesen unterstützt.extern Tisch in BigQuery. Verwenden Sie dies, um auf einen vorhandenen Pfad mit Datendateien zu verweisen.


SQL

CREATE OR REPLACE EXTERNAL TABLE PROJECT_ID.DATASET_ID.my_external_iceberg_table
WITH CONNECTION PROJECT_ID.REGION.CONNECTION_ID
OPTIONS (
  format="ICEBERG",
  uris =
    ('gs://BUCKET/PATH/TO/DATA'),
  require_partition_filter = FALSE);

Apache Spark: Die Engine für Knowledge Lakehouse Analytics

Während Apache Iceberg die Struktur und das Administration für Ihr Daten -Lakehouse bietet, ist Apache Spark die Verarbeitungsmotor, die sie zum Leben erweckt. Spark ist ein leistungsstarkes Open-Supply-verteiltes Verarbeitungssystem, das für seine Geschwindigkeit, Vielseitigkeit und Fähigkeit zur Behandlung verschiedener Huge-Knowledge-Workloads bekannt ist. Die In-Reminiscence-Verarbeitung von Spark, das robuste Ökosystem von Werkzeugen, einschließlich ML und SQL-basierter Verarbeitung, und Deep Iceberg Assist machen es zu einer hervorragenden Wahl.

Apache Spark ist tief in das Google Cloud -Ökosystem integriert. Zu den Vorteilen der Verwendung von Apache Spark auf Google Cloud gehören:

  • Zugriff auf ein echtes serverloses Spark -Erlebnis ohne Clusterverwaltung mithilfe von Verwendung Google Cloud serverlos für Apache Spark.
  • Voll verwaltete Spark -Erfahrung mit flexibler Clusterkonfiguration und -verwaltung über DataProc.
  • Funkenjobs mit dem neuen beschleunigen Lightning Engine für Apache Spark Vorschau -Funktion.
  • Konfigurieren Sie Ihre Laufzeit mit GPUs und Treibern, die vorinstalliert sind.
  • Führen Sie AI/ML -Jobs mit einem robusten Satz von Bibliotheken aus, die standardmäßig in Spark -Laufzeiten verfügbar sind, einschließlich Xgboost, Pytorch und Transformers.
  • Schreiben Sie PySpark -Code direkt in BigQuery Studio über Colab Enterprise Notebooks zusammen mit der Gemini-angetriebenen PYSPark-Codegenerierung.
  • Stellen Sie einfach eine Verbindung zu Ihren Daten in BigQuery native Tabellen, Biglake -Eisberg -Tabellen, externen Tabellen und GCs her
  • Integration mit Vertex AI für Finish-to-Finish-Mlops

Eisberg + Spark: Besser zusammen

Zusammen bilden Eisberg und Funken eine starke Kombination für den Bau von leistungsfähigen und zuverlässigen Daten -Lakehouses. Spark kann die Metadaten von Iceberg nutzen, um Abfragepläne zu optimieren, ein effizientes Datenbeschneiden durchzuführen und die transaktionale Konsistenz in Ihrem Datensee zu gewährleisten.

Ihre Eisberg -Tische und BigQuery -nativen Tische sind über die durch Biglake Metastore. Dadurch werden Ihre Tabellen Open -Supply -Motoren mit BigQuery -Kompatibilität einschließlich Spark ausgesetzt.


Python

from pyspark.sql import SparkSession

# Create a spark session
spark = SparkSession.builder 
.appName("BigLake Metastore Iceberg") 
.config("spark.sql.catalog.CATALOG_NAME", "org.apache.iceberg.spark.SparkCatalog") 
.config("spark.sql.catalog.CATALOG_NAME.catalog-impl", "org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog") 
.config("spark.sql.catalog.CATALOG_NAME.gcp_project", "PROJECT_ID") 
.config("spark.sql.catalog.CATALOG_NAME.gcp_location", "LOCATION") 
.config("spark.sql.catalog.CATALOG_NAME.warehouse", "WAREHOUSE_DIRECTORY") 
.getOrCreate()
spark.conf.set("viewsEnabled","true")

# Use the blms_catalog
spark.sql("USE `CATALOG_NAME`;")
spark.sql("USE NAMESPACE DATASET_NAME;")

# Configure spark for temp outcomes
spark.sql("CREATE namespace if not exists MATERIALIZATION_NAMESPACE");
spark.conf.set("materializationDataset","MATERIALIZATION_NAMESPACE")

# Record the tables within the dataset
df = spark.sql("SHOW TABLES;")
df.present();

# Question the tables
sql = """SELECT * FROM DATASET_NAME.TABLE_NAME"""
df = spark.learn.format("bigquery").load(sql)
df.present()
sql = """SELECT * FROM DATASET_NAME.ICEBERG_TABLE_NAME"""
df = spark.learn.format("bigquery").load(sql)
df.present()

sql = """SELECT * FROM DATASET_NAME.READONLY_ICEBERG_TABLE_NAME"""
df = spark.learn.format("bigquery").load(sql)
df.present()

Die Verlängerung der Funktionalität von Biglake Metastore ist die Eisberg REST -Katalog (in der Vorschau) mit jeder Datenverarbeitungsmaschine auf Eisberg -Daten zugreifen. Hier erfahren Sie, wie Sie mit Spark verbinden können:


Python

import google.auth
from google.auth.transport.requests import Request
from google.oauth2 import service_account
import pyspark
from pyspark.context import SparkContext
from pyspark.sql import SparkSession

catalog = ""
spark = SparkSession.builder.appName("") 
    .config("spark.sql.defaultCatalog", catalog) 
    .config(f"spark.sql.catalog.{catalog}", "org.apache.iceberg.spark.SparkCatalog") 
    .config(f"spark.sql.catalog.{catalog}.sort", "relaxation") 
    .config(f"spark.sql.catalog.{catalog}.uri",
"https://biglake.googleapis.com/iceberg/v1beta/restcatalog") 
    .config(f"spark.sql.catalog.{catalog}.warehouse", "gs://") 
    .config(f"spark.sql.catalog.{catalog}.token", "") 
    .config(f"spark.sql.catalog.{catalog}.oauth2-server-uri", "https://oauth2.googleapis.com/token")                    .config(f"spark.sql.catalog.{catalog}.header.x-goog-user-project", "")      .config("spark.sql.extensions","org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions") 
.config(f"spark.sql.catalog.{catalog}.io-impl","org.apache.iceberg.hadoop.HadoopFileIO")     .config(f"spark.sql.catalog.{catalog}.rest-metrics-reporting-enabled", "false") 
.getOrCreate()

Fertigstellung des Lakehaus

Google Cloud bietet eine umfassende Suite von Diensten, die Apache Iceberg und Apache Spark ergänzen und es Ihnen ermöglichen, Ihr Daten-Lakehouse problemlos zu erstellen, zu verwalten und zu skalieren und gleichzeitig viele der Open-Supply-Technologien zu nutzen, die Sie bereits verwenden:

  • Dataplex Universalkatalog: Dataplex Common Catalog bietet eine einheitliche Datengewebe für die Verwaltung, Überwachung und Registrierung Ihrer Daten über Knowledge Lakes, Knowledge Warehouses und Knowledge Marts. Es wird in Biglake Metastore integriert, um sicherzustellen, dass Governance -Richtlinien in Ihren Eisberg -Tabellen konsequent erzwungen werden und Funktionen wie semantische Suche, Datenlinien und Datenqualitätsprüfungen ermöglichen.
  • Google Cloud Managed Service für Apache Kafka: Führen Sie in Google Cloud voll verwaltete Kafka-Cluster aus, einschließlich Kafka Join. Datenströme können direkt an BigQuery gelesen werden, einschließlich der verwalteten Eisberg -Tabellen mit Latenz mit geringer Latenz.
  • Wolkenkomponist: Ein vollständig verwalteter Workflow -Orchestrierungsdienst, der auf baut auf Apache -Luftstrom.
  • Scheitelpunkt AI: Verwenden Sie die Vertex AI, um das vollständige Finish-to-Finish-ML-OPS-Erlebnis zu verwalten. Sie können auch verwenden Scheitelpunkt AI Workbench Für eine verwaltete JupyterLab -Erfahrung, um eine Verbindung zu Ihren serverlosen Funken- und DataProc -Instanzen herzustellen.

Abschluss

Die Kombination von Apache Iceberg und Apache Spark auf Google Cloud bietet eine überzeugende Lösung für den Aufbau moderner Hochleistungsdaten-Lakehouses. Iceberg liefert die transaktionale Konsistenz, die Schemaentwicklung und die Leistungsoptimierungen, die historisch in Datenseen fehlten, während Spark eine vielseitige und skalierbare Engine für die Verarbeitung dieser großen Datensätze bietet.

Um mehr zu erfahren, sehen Sie sich unsere an Kostenloses Webinar Am 8. Juli um 11 Uhr PST, wo wir tiefer in die Verwendung von Apache Spark und unterstützenden Instruments auf Google Cloud eintauchen.

Autor: Brad Miro, Senior Developer Advocate – Google

[ad_2]

]]>
http://chatgpz.de/data-analytics/erstellen-moderner-daten-lakehouses-in-google-cloud-mit-apache-iceberg-und-apache-spark/feed/ 0 10627