Nền tảng Big Data với PySpark
Upendra Devisetty
Science Analyst, CyVerse
PySpark SQL là thư viện Spark cho dữ liệu có cấu trúc. Nó cung cấp thêm thông tin về cấu trúc dữ liệu và phép tính
PySpark DataFrame là tập dữ liệu phân tán bất biến với các cột có tên
Thiết kế để xử lý dữ liệu có cấu trúc (ví dụ: CSDL quan hệ) và bán cấu trúc (ví dụ: JSON)
DataFrame API có trong Python, R, Scala và Java
DataFrame trong PySpark hỗ trợ truy vấn SQL (SELECT * from table) và phương thức biểu thức (df.select())
SparkContext là điểm vào chính để tạo RDD
SparkSession cung cấp một điểm vào duy nhất để làm việc với Spark DataFrame
SparkSession dùng để tạo, đăng ký DataFrame và thực thi truy vấn SQL
Trong shell PySpark, SparkSession có sẵn dưới tên spark
Hai cách tạo DataFrame trong PySpark
Từ RDD hiện có bằng phương thức createDataFrame() của SparkSession
Từ nhiều nguồn dữ liệu (CSV, JSON, TXT) bằng phương thức read của SparkSession
Schema kiểm soát dữ liệu và giúp DataFrame tối ưu truy vấn
Schema cung cấp thông tin về tên cột, kiểu dữ liệu, giá trị trống, v.v.
iphones_RDD = sc.parallelize([
("XS", 2018, 5.65, 2.79, 6.24),
("XR", 2018, 5.94, 2.98, 6.84),
("X10", 2017, 5.65, 2.79, 6.13),
("8Plus", 2017, 6.23, 3.07, 7.12)
])
names = ['Model', 'Year', 'Height', 'Width', 'Weight']
iphones_df = spark.createDataFrame(iphones_RDD, schema=names)type(iphones_df)
pyspark.sql.dataframe.DataFrame
df_csv = spark.read.csv("people.csv", header=True, inferSchema=True)
df_json = spark.read.json("people.json")
df_txt = spark.read.txt("people.txt")
Đường dẫn tệp và hai tham số tùy chọn
Hai tham số tùy chọn
header=True, inferSchema=TrueNền tảng Big Data với PySpark