Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Ladda Data Från en Fil till en DataFrame | Arbeta med data
Databricks-Grunder: En Nybörjarguide

Ladda Data Från en Fil till en DataFrame

Svep för att visa menyn

Note
Definition

Objektet spark.read är ingångspunkten för att läsa in extern data till en Spark DataFrame. Det stöder olika filformat, inklusive CSV, JSON, Parquet och Delta, och låter dig definiera hur Spark ska tolka filerna.

I avsnitt 2 laddade du upp en CSV-fil till Databricks-miljön. Nu kommer du att lära dig hur du "hämtar" den filen från lagringen och tar in den i klustrets minne som en DataFrame med hjälp av Python. Detta är det första steget i nästan varje dataingenjörspipeline.

Syntax för spark.read

För att läsa in en fil använder vi en specifik kedja av kommandon. Den grundläggande strukturen ser ut så här:

df = spark.read.format("csv").option("header", "true").load("path/to/file")
  • format: anger för Spark vilken typ av fil det är (csv, json, parquet);
  • option("header", "true"): anger för Spark att använda den första raden i filen som kolumnnamn;
  • load: den specifika platsen för filen inom Databricks.

Härledning av schema

Som standard antar Spark att varje kolumn i en CSV är en sträng (text). För att göra våra data mer användbara lägger vi till ett alternativ till: .option("inferSchema", "true"). När detta är aktiverat gör Spark en snabb genomgång av datan och identifierar automatiskt vilka kolumner som är heltal, decimaltal eller boolean. Detta sparar dig det manuella arbetet med att själv definiera datatyper.

Hitta din filsökväg

För att läsa en fil behöver du dess sökväg. I fliken Catalog eller Workspace kan du hitta din uppladdade fil, klicka på de tre prickarna (ellipsen) bredvid den och välja "Copy path". I moderna Databricks, om du laddade upp filen via Data Ingestion UI som vi gjorde i Kapitel 2.6, är datan redan sparad som en tabell, som vi kan läsa med:

df = spark.read.table("main.default.sample_sales_records")

Om du däremot läser råfilen direkt från en Volume, använder du filsökvägen:

df = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/Volumes/main/default/my_volume/sales_data.csv")

Verifiera inläsningen

Efter att ha kört inläsningskommandot är det god praxis att verifiera datan. Du bör omedelbart följa ditt read-kommando med: display(df)

Detta bekräftar att datan har lästs in korrekt i klustrets minne, att rubrikerna är på rätt plats och att datatyperna ser korrekta ut. I detta skede ligger datan i ett temporärt objekt som heter df, och du är redo att börja transformera den.

1. Varför bör du använda inställningen .option("inferSchema", "true") när du läser in en CSV?

2. Vilket kommando används för att hämta en befintlig tabell från katalogen till en Python DataFrame?

question mark

Varför bör du använda inställningen .option("inferSchema", "true") när du läser in en CSV?

Vänligen välj det korrekta svaret

question mark

Vilket kommando används för att hämta en befintlig tabell från katalogen till en Python DataFrame?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 2

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 4. Kapitel 2
some-alt