Aracılığıyla paylaş


Microsoft Fabric'te Pandas ile veri okuma ve yazma

Microsoft Fabric not defterleri, veri araştırma ve işleme için en popüler Python kitaplığı olan Pandas'ı kullanarak Lakehouse verileriyle sorunsuz etkileşimi destekler. Not defteri içinde, çeşitli dosya biçimlerinde lakehouse kaynaklarınızdaki verileri hızlı bir şekilde okuyabilir ve bu kaynaklara geri yazabilirsiniz. Bu kılavuz, kendi not defterinize başlamanıza yardımcı olacak kod örnekleri sağlar.

Önkoşullar

  • Yeni bir not defteri oluşturmak ve buna bir Lakehouse eklemek için sisteminizi veri bilimi öğreticilerine hazırlama bölümünde yer alan adımları tamamlayın. Bu makalede, mevcut bir not defterini içeri aktarmak yerine yeni bir not defteri oluşturmak için adımları izleyin.

Lakehouse verilerini not defterine yükleme

Not

Bu bölümdeki adımları izlemek için Lakehouse'unuzda bazı verilere ihtiyacınız vardır. Herhangi bir veriniz yoksa, churn.csv dosyasını Lakehouse'unuza eklemek için Veri kümesini indirme ve Lakehouse'a yükleme'deki adımları izleyin.

Microsoft Fabric not defterinize bir Lakehouse ekledikten sonra, sayfadan çıkmadan depolanan verileri inceleyebilir ve yalnızca birkaç adımla not defterinizde okuyabilirsiniz. Herhangi bir Lakehouse dosyası seçildiğinde Spark veya Pandas DataFrame'e "Veri yükleme" seçenekleri görüntülenir. Dosyanın tam ABFS yolunu veya kolay bir göreli yolu da kopyalayabilirsiniz.

Pandas DataFrame'e veri yükleme seçeneklerini gösteren ekran görüntüsü.

"Verileri yükle" istemlerinden birinin seçilmesi, dosyayı not defterinizdeki bir DataFrame'e yükleyen bir kod hücresi oluşturur.

Not defterine eklenen kod hücresini gösteren ekran görüntüsü.

Spark DataFrame'i Pandas DataFrame'e dönüştürme

Başvuru için, bu komut Spark DataFrame'in Pandas DataFrame'e nasıl dönüştürüldüğünü gösterir:

# Replace "spark_df" with the name of your own Spark DataFrame
pandas_df = spark_df.toPandas() 

Çeşitli dosya biçimlerini okuma ve yazma

Not

Belirli bir paketin sürümünü değiştirmek, büyük olasılıkla ona bağlı olan diğer paketleri bozabilir. Örneğin, eski sürüme azure-storage-blob düşürme, ile ilgili sorunlara Pandas neden olabilir ve , ve dahil olmak üzerePandasmssparkutilsfsspec_wrapper, kullanan diğer çeşitli kitaplıklar.notebookutils Önceden yüklenmiş paketlerin listesini ve bunların her çalışma zamanı için sürümlerini burada görüntüleyebilirsiniz.

Bu kod örnekleri, Pandas'ın çeşitli dosya biçimlerini okuma ve yazma işlemlerini gösterir. Bu örneklerin bir öğreticide olduğu gibi sıralı olarak çalıştırılması amaçlanmamış, gerektiğinde kopyalanıp kendi not defterinize yapıştırılması amaçlanmıştır.

Not

Bu kod örneklerindeki dosya yollarını değiştirmeniz gerekir. Pandas burada gösterildiği gibi hem göreli yolları hem de tam ABFS yollarını destekler. Önceki adımları kullanarak arabirimden her iki türdeki yolları alabilir ve kopyalayabilirsiniz.

CSV dosyasından veri okuma

import pandas as pd

# Read a CSV file from your Lakehouse into a Pandas DataFrame
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df = pd.read_csv("/LAKEHOUSE_PATH/Files/FILENAME.csv")
display(df)

Verileri CSV dosyası olarak yazma

import pandas as pd 

# Write a Pandas DataFrame into a CSV file in your Lakehouse
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df.to_csv("/LAKEHOUSE_PATH/Files/FILENAME.csv") 

Parquet dosyasından veri okuma

import pandas as pd 
 
# Read a Parquet file from your Lakehouse into a Pandas DataFrame
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df = pd.read_parquet("/LAKEHOUSE_PATH/Files/FILENAME.parquet") 
display(df)

Parquet dosyası olarak veri yazma

import pandas as pd 
 
# Write a Pandas DataFrame into a Parquet file in your Lakehouse
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df.to_parquet("/LAKEHOUSE_PATH/Files/FILENAME.parquet") 

Excel dosyasından veri okuma

import pandas as pd 
 
# Read an Excel file from your Lakehouse into a Pandas DataFrame
# Replace LAKEHOUSE_PATH and FILENAME with your own values
# If the file is in a subfolder, add the correct file path after Files/
# For the default lakehouse attached to the notebook, use: df = pd.read_excel("/lakehouse/default/Files/FILENAME.xlsx") 
df = pd.read_excel("/LAKEHOUSE_PATH/Files/FILENAME.xlsx") 
display(df) 

Verileri Excel dosyası olarak yazma

import pandas as pd 

# Write a Pandas DataFrame into an Excel file in your Lakehouse
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df.to_excel("/LAKEHOUSE_PATH/Files/FILENAME.xlsx") 

JSON dosyasından veri okuma

import pandas as pd 
 
# Read a JSON file from your Lakehouse into a Pandas DataFrame
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df = pd.read_json("/LAKEHOUSE_PATH/Files/FILENAME.json") 
display(df) 

Verileri JSON dosyası olarak yazma

import pandas as pd 
 
# Write a Pandas DataFrame into a JSON file in your Lakehouse
# Replace LAKEHOUSE_PATH and FILENAME with your own values
df.to_json("/LAKEHOUSE_PATH/Files/FILENAME.json") 

Delta tablolarıyla çalışma

Delta tabloları, Microsoft Fabric'teki varsayılan tablo biçimidir ve Lakehouse'unuzun Tablolar bölümünde depolanır. Delta tablolarının dosyalardan farklı olarak pandas ile çalışması için iki adımlı bir işlem gerekir: önce tabloyu Spark DataFrame'e okuyun, ardından pandas DataFrame'e dönüştürün.

Test Delta tablosu oluşturma

Bu bölümdeki adımları izlemek için Lakehouse'unuzda bir Delta tablosuna ihtiyacınız vardır. churn.csv dosyasını Lakehouse'unuza eklemek için Veri kümesini indirme ve Lakehouse'a yükleme bölümünde yer alan adımları izleyin, ardından not defterinizde bu kodu çalıştırarak churn.csv dosyasından bir test tablosu oluşturun:

import pandas as pd
# Create a test Delta table from the churn.csv file

df = pd.read_csv("/lakehouse/default/Files/churn/raw/churn.csv")
spark_df = spark.createDataFrame(df)
spark_df.write.format("delta").mode("overwrite").saveAsTable("churn_table")

Bu, aşağıdaki örnekleri test etme amacıyla kullanabileceğiniz churn_table adlı bir Delta tablosu oluşturur.

Delta tablosundan veri okuma

# Read a Delta table from your Lakehouse into a pandas DataFrame
# This example uses the churn_table created above
spark_df = spark.read.format("delta").load("Tables/churn_table")
pandas_df = spark_df.toPandas()
display(pandas_df)

Spark SQL söz dizimini kullanarak Delta tablolarını da okuyabilirsiniz:

# Alternative method using Spark SQL
spark_df = spark.sql("SELECT * FROM churn_table")
pandas_df = spark_df.toPandas()
display(pandas_df)

Delta tablosuna pandas DataFrame yazma

# Convert pandas DataFrame to Spark DataFrame, then save as Delta table
# Replace TABLE_NAME with your desired table name
spark_df = spark.createDataFrame(pandas_df)
spark_df.write.format("delta").mode("overwrite").saveAsTable("TABLE_NAME")

Tablolar bölümünde belirli bir yola da kaydedebilirsiniz:

# Save to a specific path in the Tables section
spark_df = spark.createDataFrame(pandas_df)
spark_df.write.format("delta").mode("overwrite").save("Tables/TABLE_NAME")

Delta tabloları için yazma modları

Delta tablolarına yazarken farklı modlar belirtebilirsiniz:

# Overwrite the entire table
spark_df.write.format("delta").mode("overwrite").saveAsTable("TABLE_NAME")

# Append new data to existing table
spark_df.write.format("delta").mode("append").saveAsTable("TABLE_NAME")

Not

Lakehouse'unuzun Tablolar bölümünde oluşturulan delta tabloları, ek kayıt veya yapılandırma adımları olmadan bulunabilir ve Spark SQL kullanılarak sorgulanabilir. Ayrıca Lakehouse gezgini arabiriminde de görünürler (son değişiklikleri görmek için Lakehouse gezginini yenilemeniz gerekebilir).