Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Meratakan Struktur Data Kompleks dalam Spark DataFrames?

Mary-Kate Olsen
Lepaskan: 2024-10-25 08:46:28
asal
987 orang telah melayarinya

How to Flatten Complex Data Structures in Spark DataFrames?

Cara Membahagikan Struktur Data Kompleks dalam Spark DataFrames

Dalam kerangka data Spark, struktur data kompleks seperti struct dan peta boleh digunakan untuk menyimpan data bersarang dengan cekap. Walau bagaimanapun, mungkin perlu untuk meratakan struktur ini untuk berfungsi dengan elemen individu secara langsung.

Meratakan Struktur Bersarang

Untuk mengekstrak medan bersarang struct, col fungsi boleh digabungkan dengan simbol * kad bebas. Sebagai contoh, pertimbangkan skema bingkai data berikut:

|-- data: struct (nullable = true)
 |    |-- id: long (nullable = true)
 |    |-- keyNote: struct (nullable = true)
 |    |    |-- key: string (nullable = true)
 |    |    |-- note: string (nullable = true)
 |    |-- details: map (nullable = true)
 |    |    |-- key: string
 |    |    |-- value: string (valueContainsNull = true)
Salin selepas log masuk

Untuk meratakan struct ini dan mencipta bingkai data baharu, gunakan:

df.select(df.col("data.*"))
Salin selepas log masuk

Ini akan mencipta bingkai data dengan struktur diratakan berikut:

     |-- id: long (nullable = true)
     |-- keyNote: struct (nullable = true)
     |    |-- key: string (nullable = true)
     |    |-- note: string (nullable = true)
     |-- details: map (nullable = true)
     |    |-- key: string
     |    |-- value: string (valueContainsNull = true)
Salin selepas log masuk

Meratakan Peta Bersarang

Begitu juga, peta bersarang boleh diratakan menggunakan sintaks berikut:

df.select(df.col("data.details").as("map_details"))
Salin selepas log masuk

Ini akan mencipta bingkai data dengan peta yang diratakan sebagai lajur baharu bernama "map_details". Lajur akan mempunyai struktur berikut:

     |-- map_details: map (nullable = true)
     |    |-- key: string
     |    |-- value: string (valueContainsNull = true)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Meratakan Struktur Data Kompleks dalam Spark DataFrames?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan