Skip to main content

Apache Spark SQL - DataFrame

Trong Apache Spark SQL, DataFrame là một cấu trúc dữ liệu phân tán giống như bảng trong cơ sở dữ liệu quan hệ. DataFrame cung cấp các tính năng và lợi ích của các cấu trúc dữ liệu phân tán như khả năng xử lý dữ liệu lớn, tính toán song song và khả năng tối ưu hóa truy vấn.

spark-sql.jpg

DataFrame trong Spark SQL có thể được tạo ra từ nhiều nguồn dữ liệu khác nhau như các tệp CSV, JSON, Parquet, cơ sở dữ liệu quan hệ, và nhiều nguồn dữ liệu khác. Sau khi tạo ra DataFrame, bạn có thể sử dụng API DataFrame của Spark SQL để truy vấn và biến đổi dữ liệu.

Ví dụ, để tạo một DataFrame từ một tệp CSV và truy vấn dữ liệu bằng Spark SQL, bạn có thể sử dụng mã sau:

from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("example").getOrCreate()

df = spark.read.format("csv").option("header", "true").load("path/to/file.csv")

df.show()

Trong đó, path/to/file.csv là đường dẫn đến tệp CSV bạn muốn đọc.

Sau khi tạo ra DataFrame, bạn có thể sử dụng API DataFrame của Spark SQL để truy vấn và biến đổi dữ liệu. Ví dụ, để truy vấn các dòng trong DataFrame có giá trị cột column1'value1', bạn có thể sử dụng mã sau:

results = df.filter(df['column1'] == 'value1')

results.show()

Trong đó, filter() là một phương thức của DataFrame để lọc các dòng dựa trên một điều kiện cho trước, và show() là một phương thức của DataFrame để hiển thị các dòng được chọn.

Tóm lại, DataFrame là một cấu trúc dữ liệu phân tán mạnh mẽ trong Apache Spark SQL, cung cấp các tính năng và lợi ích của các cấu trúc dữ liệu phân tán để xử lý dữ liệu lớn và yêu cầu tính toán cao. Với các tính năng và lợi ích của DataFrame, bạn có thể dễ dàng truy vấn và biến đổi dữ liệu trong các ứng dụng của mình.