Začínáme: Ingestování a vkládání dalších dat
Tento článek začínáme vás provede použitím poznámkového bloku Azure Databricks k ingestování souboru CSV obsahujícího další data názvu dítěte do svazku katalogu Unity a následným importem nových dat názvu dítěte do existující tabulky pomocí Pythonu, Scaly a R.
Důležité
Tento článek začínáme vychází z článku Začínáme: Import a vizualizace dat CSV z poznámkového bloku. Abyste mohli tento článek dokončit, musíte dokončit kroky v tomto článku. Úplný poznámkový blok pro tento úvodní článek najdete v tématu Import a vizualizace datových poznámkových bloků.
Požadavky
K dokončení úkolů v tomto článku musíte splňovat následující požadavky:
- Váš pracovní prostor musí mít povolený katalog Unity. Informace o tom, jak začít s katalogem Unity, najdete v tématu Nastavení a správa katalogu Unity.
- Musíte mít oprávnění k používání existujícího výpočetního prostředku nebo k vytvoření nového výpočetního prostředku. Viz Začínáme: Nastavení účtu a pracovního prostoru nebo se obraťte na správce Databricks.
Tip
Dokončený poznámkový blok pro tento článek najdete v tématu Ingestování dalších datových poznámkových bloků.
Krok 1: Vytvoření nového poznámkového bloku
Vytvoření poznámkového bloku v pracovním prostoru:
- Na bočním panelu klikněte na Nový a potom klikněte na Poznámkový blok.
- Na stránce Vytvořit poznámkový blok:
- Zadejte jedinečný název poznámkového bloku.
- Nastavte výchozí jazyk poznámkového bloku a po zobrazení výzvy klikněte na Potvrdit .
- Klikněte na Připojit a vyberte výpočetní prostředek. Pokud chcete vytvořit nový výpočetní prostředek, přečtěte si téma Použití výpočetních prostředků.
Další informace o vytváření a správě poznámkových bloků najdete v tématu Správa poznámkových bloků.
Krok 2: Definování proměnných
V tomto kroku definujete proměnné pro použití v ukázkovém poznámkovém bloku, který vytvoříte v tomto článku.
Zkopírujte a vložte následující kód do nové prázdné buňky poznámkového bloku. Nahraďte
<catalog-name>
katalog,<volume-name>
<schema-name>
schéma a názvy svazků pro svazek katalogu Unity. Nahraďte<table_name>
zvoleným názvem tabulky. Data jména dítěte uložíte do této tabulky dále v tomto článku.Stisknutím spustíte
Shift+Enter
buňku a vytvoříte novou prázdnou buňku.Python
catalog = "<catalog_name>" schema = "<schema_name>" volume = "<volume_name>" file_name = "new_baby_names.csv" table_name = "baby_names" path_volume = "/Volumes/" + catalog + "/" + schema + "/" + volume path_table = catalog + "." + schema print(path_table) # Show the complete path print(path_volume) # Show the complete path
Scala
val catalog = "<catalog_name>" val schema = "<schema_name>" val volume = "<volume_name>" val fileName = "new_baby_names.csv" val tableName = "baby_names" val pathVolume = s"/Volumes/${catalog}/${schema}/${volume}" val pathTable = s"${catalog}.${schema}" print(pathVolume) // Show the complete path print(pathTable) // Show the complete path
R
catalog <- "<catalog_name>" schema <- "<schema_name>" volume <- "<volume_name>" file_name <- "new_baby_names.csv" table_name <- "baby_names" path_volume <- paste0("/Volumes/", catalog, "/", schema, "/", volume, sep = "") path_table <- paste0(catalog, ".", schema, sep = "") print(path_volume) # Show the complete path print(path_table) # Show the complete path
Krok 3: Přidání nového souboru CSV dat do svazku katalogu Unity
Tento krok vytvoří datový rámec s df
názvem nového dítěte pro verzi 2022 a uloží tato data do nového souboru CSV ve svazku katalogu Unity.
Poznámka:
Tento krok simuluje přidání nových ročních dat do existujících dat načtených za předchozí roky. V produkčním prostředí budou tato přírůstková data uložená v cloudovém úložišti.
Zkopírujte a vložte následující kód do nové prázdné buňky poznámkového bloku. Tento kód vytvoří datový rámec s dalšími daty názvu dítěte a potom tato data zapíše do souboru CSV ve svazku katalogu Unity.
Python
data = [[2022, "CARL", "Albany", "M", 42]] df = spark.createDataFrame(data, schema="Year int, First_Name STRING, County STRING, Sex STRING, Count int") # display(df) (df.coalesce(1) .write .option("header", "true") .mode("overwrite") .csv(f"{path_volume}/{file_name}"))
Scala
val data = Seq((2022, "CARL", "Albany", "M", 42)) val columns = Seq("Year", "First_Name", "County", "Sex", "Count") val df = data.toDF(columns: _*) // display(df) df.coalesce(1) .write .option("header", "true") .mode("overwrite") .csv(f"{pathVolume}/{fileName}")
R
# Load the SparkR package that is already preinstalled on the cluster. library(SparkR) data <- data.frame(Year = 2022, First_Name = "CARL", County = "Albany", Sex = "M", Count = 42) df <- createDataFrame(data) # display(df) write.df(df, path = paste0(path_volume, "/", file_name), source = "csv", mode = "overwrite", header = "true")
Stisknutím klávesy
Shift+Enter
spusťte buňku a přejděte na další buňku.
Krok 4: Načtení dat do datového rámce ze souboru CSV
Poznámka:
Tento krok simuluje načítání dat z cloudového úložiště.
Zkopírujte a vložte následující kód do prázdné buňky poznámkového bloku. Tento kód načte data nových jmen dětí do nového datového rámce ze souboru CSV.
Python
df1 = spark.read.csv(f"{path_volume}/{file_name}", header=True, inferSchema=True, sep=",") display(df1)
Scala
val df1 = spark.read .option("header", "true") .option("inferSchema", "true") .option("delimiter", ",") .csv(s"$pathVolume/$fileName") display(df1)
R
df1 <- read.df(paste0(path_volume, "/", file_name), source = "csv", header = TRUE, inferSchema = TRUE) display(df1)
Stisknutím klávesy
Shift+Enter
spusťte buňku a přejděte na další buňku.
Krok 5: Vložení do existující tabulky
Zkopírujte a vložte následující kód do prázdné buňky poznámkového bloku. Tento kód připojí data nových jmen dětí z datového rámce do existující tabulky.
Python
df.write.mode("append").insertInto(f"{path_table}.{table_name}") display(spark.sql(f"SELECT * FROM {path_table}.{table_name} WHERE Year = 2022"))
Scala
df1.write.mode("append").insertInto(s"${pathTable}.${tableName}") display(spark.sql(s"SELECT * FROM ${pathTable}.${tableName} WHERE Year = 2022"))
R
# The write.df function in R, as provided by the SparkR package, does not directly support writing to Unity Catalog. # In this example, you write the DataFrame into a temporary view and then use the SQL command to insert data from the temporary view to the Unity Catalog table createOrReplaceTempView(df1, "temp_view") sql(paste0("INSERT INTO ", path_table, ".", table_name, " SELECT * FROM temp_view")) display(sql(paste0("SELECT * FROM ", path_table, ".", table_name, " WHERE Year = 2022")))
Stisknutím
Ctrl+Enter
spustíte buňku.
Ingestování dalších datových poznámkových bloků
K provedení kroků v tomto článku použijte jeden z následujících poznámkových bloků.
Python
Ingestování a vkládání dalších dat pomocí Pythonu
Scala
Ingestování a vkládání dalších dat pomocí scaly
R
Ingestování a vkládání dalších dat pomocí jazyka R
Další kroky
Další informace o čištění a vylepšení dat najdete v tématu Začínáme: Vylepšení a čištění dat.
Další materiály
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro