mergeSchema [mặc định là giá trị được chỉ định trong spark. sql. sàn gỗ. hợp nhấtSchema]. đặt xem chúng ta có nên hợp nhất các lược đồ được thu thập từ tất cả các tệp phần Parquet hay không. Điều này sẽ ghi đè spark. sql. sàn gỗ. hợp nhấtSchema
orc
jdbc
url. URL JDBC cho Spark để kết nối với. Ở mức tối thiểu, nó phải chứa tên máy chủ, cổng và cơ sở dữ liệu. Đối với MySQL, nó có thể trông giống như thế này. jdbc. mysql. //máy chủ cục bộ. 3306/hoang.
bảng db. Tên của bảng cơ sở dữ liệu để Spark đọc dữ liệu từ hoặc ghi dữ liệu vào.
người dùng
mật khẩu
trình điều khiển. Tên lớp của trình điều khiển JDBC mà Spark sẽ khởi tạo để kết nối với URL trước đó. Tham khảo tài liệu trình điều khiển JDBC mà bạn đang sử dụng. Đối với trình điều khiển MySQL Connector/J, tên lớp là com. mysql. jdbc. tài xế.
lược đồ
có thể sử dụng """. """ xác định lược đồ, cần sử dụng kiểu dữ liệu scala.
e. g. schema["""stockticker STRING, tradedate INT, openprice FLOAT"""]
______1val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]// Mode 2: equivalent to mode 1
val movieSchema = """stockticker STRING, tradedate INT, openprice FLOAT"""
DataFrameReader.format[...].option["key", "value"].schema[...].load[paths: String*]
có thể đưa ra nhiều đường dẫn, có thể đưa ra đường dẫn thư mục để đọc tất cả các tệp trong thư mục, có thể sử dụng ký tự đại diện "*" trong đường dẫn
To get a DataFrameReader, use spark.read
Hai cách để xác định Schema
Xác định một lược đồ theo chương trình
val schema = StructType[Array[StructField["author", StringType, false],
StructField["title", StringType, false],
StructField["pages", IntegerType, false]]]
Xác định lược đồ với Chuỗi DDL
________số 8
Nguồn dữ liệu - ghi
định dạng
"csv", "text", "json", "parquet" [mặc định], "orc", "jdbc"
chế độ
"ghi đè", "chắp thêm", "bỏ qua", "lỗi/lỗiIfExists" [mặc định]
quyền mua
csv
sep [mặc định ,]. đặt một ký tự đơn làm dấu phân cách cho từng trường và giá trị.
trích dẫn [mặc định "]. đặt một ký tự đơn được sử dụng để thoát các giá trị được trích dẫn trong đó dấu phân cách có thể là một phần của giá trị. Nếu một chuỗi trống được đặt, nó sẽ sử dụng u0000 [ký tự null].
escape [mặc định \]. đặt một ký tự được sử dụng để thoát dấu ngoặc kép bên trong một giá trị đã được trích dẫn. charToEscapeQuoteEscaping [thoát mặc định hoặc \0]. đặt một ký tự đơn được sử dụng để thoát lối thoát cho ký tự trích dẫn. Giá trị mặc định là ký tự thoát khi ký tự thoát và ký tự trích dẫn khác nhau, \0 nếu không.
escapeQuotes [mặc định là đúng]. một cờ cho biết liệu các giá trị chứa dấu ngoặc kép có phải luôn được đặt trong dấu ngoặc kép hay không. Mặc định là thoát khỏi tất cả các giá trị chứa ký tự trích dẫn.
quoteAll [mặc định là sai]. một lá cờ cho biết liệu tất cả các giá trị có phải luôn được đặt trong dấu ngoặc kép hay không. Mặc định là chỉ thoát các giá trị có chứa ký tự trích dẫn.
tiêu đề [mặc định là sai]. viết tên của các cột như dòng đầu tiên.
nullValue [chuỗi rỗng mặc định]. đặt biểu diễn chuỗi của một giá trị null.
nén [mặc định null]. codec nén để sử dụng khi lưu vào tệp. Đây có thể là một trong những tên rút gọn không phân biệt chữ hoa chữ thường đã biết [none, bzip2, gzip, lz4, snappy và deflate].
dateFormat [mặc định là yyyy-MM-dd]. đặt chuỗi cho biết định dạng ngày. Định dạng ngày tùy chỉnh tuân theo các định dạng tại java. văn bản. Định dạng ngày đơn giản. Điều này áp dụng cho loại ngày.
Định dạng dấu thời gian [mặc định yyyy-MM-dd'T'HH. mm. ss. SSSXXX]. đặt chuỗi cho biết định dạng dấu thời gian. Định dạng ngày tùy chỉnh tuân theo các định dạng tại java. văn bản. Định dạng ngày đơn giản. Điều này áp dụng cho loại dấu thời gian.
ignoreLeadingWhiteSpace [mặc định là đúng]. một cờ cho biết có nên bỏ qua các khoảng trắng đầu từ các giá trị đang được viết hay không.
ignoreTrailingWhiteSpace [mặc định là đúng]. một cờ cho biết xác định có nên bỏ qua các khoảng trắng ở cuối các giá trị đang được ghi hay không.
chữ
nén [mặc định null]. codec nén để sử dụng khi lưu vào tệp. Đây có thể là một trong những tên rút gọn không phân biệt chữ hoa chữ thường đã biết [none, bzip2, gzip, lz4, snappy và deflate]
json
nén [mặc định null]. codec nén để sử dụng khi lưu vào tệp. Đây có thể là một trong những tên rút gọn không phân biệt chữ hoa chữ thường đã biết [none, bzip2, gzip, lz4, snappy và deflate].
dateFormat [mặc định là yyyy-MM-dd]. đặt chuỗi cho biết định dạng ngày. Định dạng ngày tùy chỉnh tuân theo các định dạng tại java. văn bản. Định dạng ngày đơn giản. Điều này áp dụng cho loại ngày.
Định dạng dấu thời gian [mặc định yyyy-MM-dd'T'HH. mm. ss. SSSXXX]. đặt chuỗi cho biết định dạng dấu thời gian. Định dạng ngày tùy chỉnh tuân theo các định dạng tại java. văn bản. Định dạng ngày đơn giản. Điều này áp dụng cho loại dấu thời gian.
sàn gỗ
nén [mặc định là giá trị được chỉ định trong spark. sql. sàn gỗ. nén. giải mã]. codec nén để sử dụng khi lưu vào tệp. Đây có thể là một trong những tên rút gọn không phân biệt chữ hoa chữ thường đã biết [none, snappy, gzip và lzo]. Điều này sẽ ghi đè spark. sql. sàn gỗ. nén. giải mã
orc
nén [mặc định là giá trị được chỉ định trong spark. sql. orc. nén. giải mã]. codec nén để sử dụng khi lưu vào tệp. Đây có thể là một trong những tên rút gọn không phân biệt chữ hoa chữ thường đã biết [none, snappy, zlib và lzo]. Điều này sẽ ghi đè orc. nén và tia lửa. sql. orc. nén. giải mã. Nếu orc. nén được đưa ra, nó sẽ ghi đè spark. sql. orc. nén. giải mã
jdbc
cắt bớt [mặc định là sai]. sử dụng TRUNCATE TABLE thay vì DROP TABLE.
Trong trường hợp không thành công, người dùng nên tắt tùy chọn cắt ngắn để sử dụng lại DROP TABLE. Ngoài ra, do hành vi khác nhau của TRUNCATE TABLE giữa các DBMS, việc sử dụng cái này không phải lúc nào cũng an toàn. MySQLDialect, DB2Dialect, MsSqlServerDialect, DerbyDialect và OracleDialect hỗ trợ điều này trong khi PostgresDialect và JDBCDirect mặc định thì không. Đối với JDBCDirect không xác định và không được hỗ trợ, tùy chọn người dùng cắt bớt bị bỏ qua.
saveAsTable[tên bảng. Chuỗi]. Bài học
Lưu nội dung của DataFrame dưới dạng bảng đã chỉ định.
Trong trường hợp bảng đã tồn tại, hành vi của chức năng này phụ thuộc vào chế độ lưu, được chỉ định bởi chức năng chế độ [mặc định là đưa ra một ngoại lệ]. Khi chế độ Ghi đè, lược đồ của DataFrame không cần phải giống với lược đồ của bảng hiện có.
Khi ở chế độ Nối, nếu có bảng hiện có, chúng tôi sẽ sử dụng định dạng và tùy chọn của bảng hiện có. Thứ tự cột trong lược đồ của DataFrame không cần giống với thứ tự của bảng hiện có. Không giống như insertInto, saveAsTable sẽ sử dụng tên cột để tìm đúng vị trí cột. Ví dụ.
______9
+---+---+
. tôi. j.
+---+---+
. 1. 2.
. 4. 3.
+---+---+
Trong phương pháp này, chế độ lưu được sử dụng để xác định hành vi nếu bảng nguồn dữ liệu tồn tại trong danh mục Spark. Chúng tôi sẽ luôn ghi đè lên dữ liệu cơ bản của nguồn dữ liệu [e. g. một bảng trong nguồn dữ liệu JDBC] nếu bảng không tồn tại trong danh mục Spark và sẽ luôn nối vào dữ liệu cơ bản của nguồn dữ liệu nếu bảng đã tồn tại.
Khi DataFrame được tạo từ HadoopFsRelation không được phân vùng với một đường dẫn đầu vào duy nhất và nhà cung cấp nguồn dữ liệu có thể được ánh xạ tới SerDe dựng sẵn Hive [i. e. ORC và Parquet], bảng được duy trì ở định dạng tương thích với Hive, có nghĩa là các hệ thống khác như Hive sẽ có thể đọc bảng này. Mặt khác, bảng được duy trì ở định dạng cụ thể của Spark SQL.
insertInto[tên bảng. Chuỗi]. Bài học
Chèn nội dung của DataFrame vào bảng đã chỉ định. Nó yêu cầu lược đồ của DataFrame giống với lược đồ của bảng.
Không giống như saveAsTable, insertInto bỏ qua tên cột và chỉ sử dụng độ phân giải dựa trên vị trí. Ví dụ.
______10
+---+---+
. tôi. j.
+---+---+
. 5. 6.
. 3. 4.
. 1. 2.
+---+---+
Vì thao tác này chèn dữ liệu vào bảng hiện có nên định dạng hoặc tùy chọn sẽ bị bỏ qua.
// Mode 1
1// Mode 1
2
Để lấy DataFrameWriter, hãy sử dụng // Mode 1
3
Loại dữ liệu
tia lửa
Scala
Java
Loại byte
byte
byte hoặc byte
Loại ngắn
Ngắn ngủi
ngắn hoặc ngắn
Kiểu số nguyên
số nguyên
int hoặc số nguyên
Loại dài
Dài
dài hay dài
Loại phao
Trôi nổi
nổi hoặc nổi
Loại kép
Gấp đôi
gấp đôi hoặc gấp đôi
Loại thập phân
java. toán học. BigDecimal
java. ,toán. BigDecimal
Loại chuỗi
Chuỗi
Chuỗi
Loại nhị phân
Mảng [Byte]
byte[]
BooleanType
Boolean
boolean hoặc Boolean
Loại ngày
java. sql. Ngày
java. sql. Ngày
Loại dấu thời gian
java. sql. dấu thời gian
java. sql. dấu thời gian
Kiểu mảng
scala. bộ sưu tập. tuần tự
java. sử dụng. Danh sách
Loại bản đồ
scala. bộ sưu tập. Bản đồ
java. sử dụng. Bản đồ
Loại cấu trúc
tổ chức. apache. tia lửa. sql. Chèo thuyền
tổ chức. apache. tia lửa. sql. Chèo thuyền
Trường cấu trúc
biểu thức
biểu thức tính toán
// Mode 1
4
biểu thức quan hệ
// Mode 1
5
Một biểu thức là một tập hợp các phép biến đổi trên một hoặc nhiều giá trị trong một bản ghi trong DataFrame. Hãy nghĩ về nó giống như một hàm lấy một hoặc nhiều tên cột làm đầu vào, giải quyết chúng và sau đó có khả năng áp dụng nhiều biểu thức hơn để tạo một giá trị duy nhất cho mỗi bản ghi trong tập dữ liệu. Điều quan trọng là “giá trị đơn lẻ” này thực sự có thể là một loại phức tạp như Bản đồ hoặc Mảng
Chuyển đổi sang các loại Spark - chức năng
thắp sáng [nghĩa đen. Bất kỳ]. Cột
Tạo một cột có giá trị bằng chữ.
Đối tượng được truyền vào được trả về trực tiếp nếu nó đã là một Cột. Nếu đối tượng là Biểu tượng Scala, nó cũng được chuyển đổi thành Cột. Mặt khác, một Cột mới được tạo để biểu thị giá trị bằng chữ.
tổ chức. apache. tia lửa. sql. chức năng
Thay đổi kiểu dữ liệu cột - Column
truyền [để. Chuỗi]. Cột
Chuyển cột sang kiểu dữ liệu khác, sử dụng biểu diễn chuỗi chuẩn của kiểu. Các loại được hỗ trợ là. chuỗi, boolean, byte, ngắn, int, dài, float, double, thập phân, ngày, dấu thời gian.
______16// Mode 1
7
truyền [để. Loại dữ liệu]. Cột
Chuyển cột sang kiểu dữ liệu khác.
______18
e. g. // Mode 1
9
tổ chức. apache. tia lửa. sql. Bộ dữ liệu - những người khác
đầu tiên[]. t
Trả về hàng đầu tiên. Bí danh cho đầu[]
đầu[]. t
Trả về hàng đầu tiên
cái đầu[n]. số nguyên]. Mảng[T]
Trả về n hàng đầu tiên
Lấy. số nguyên]. Mảng[T]
Trả về n hàng đầu tiên trong Tập dữ liệu
takeAsList[n. số nguyên]. Danh sách[T]
Trả về n hàng đầu tiên trong Tập dữ liệu dưới dạng danh sách
sưu tầm[]. Mảng[T]
Trả về một mảng chứa tất cả các hàng trong Tập dữ liệu này
collAsList[]. Danh sách[T]
Trả về một danh sách Java chứa tất cả các hàng trong Tập dữ liệu này
đếm[]. Dài
Trả về số hàng trong Dataset
chỉ[]. Bài học
Hiển thị 20 hàng trên cùng của Tập dữ liệu ở dạng bảng. Các chuỗi hơn 20 ký tự sẽ bị cắt bớt và tất cả các ô sẽ được căn phải
hiển thị [numRows. số nguyên]. Bài học
Hiển thị Tập dữ liệu ở dạng bảng. Các chuỗi hơn 20 ký tự sẽ bị cắt bớt và tất cả các ô sẽ được căn phải
hiển thị [cắt bớt. Boolean]. Bài học
Hiển thị 20 hàng trên cùng của Tập dữ liệu ở dạng bảng
hiển thị [numRows. Int, cắt ngắn. Boolean]. Bài học
Hiển thị Tập dữ liệu ở dạng bảng
printSchema[]. Bài học
In lược đồ ra bàn điều khiển ở định dạng cây đẹp
giải thích[]. Bài học
In sơ đồ vật lý ra bàn điều khiển cho mục đích gỡ lỗi
giải thích [mở rộng. Boolean]. Bài học
In các kế hoạch [logic và vật lý] ra bàn điều khiển cho mục đích gỡ lỗi
lược đồ. Loại cấu trúc
Trả về lược đồ của Tập dữ liệu này
cột. Mảng[Chuỗi]
Trả về tất cả các tên cột dưới dạng một mảng
mô tả [cols. Chuỗi*]. Khung dữ liệu
Tính toán số liệu thống kê cơ bản cho các cột số và chuỗi, bao gồm số lượng, giá trị trung bình, tiêu chuẩn, tối thiểu và tối đa. val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
0
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
1
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
2
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
3
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
4
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
5
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
6
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
7
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]
tóm tắt [thống kê. Chuỗi*]. Khung dữ liệu
Tính toán số liệu thống kê được chỉ định cho các cột số và chuỗi. số liệu thống kê có sẵn là.
- đếm - trung bình - stddev - tối thiểu - tối đa - phần trăm gần đúng tùy ý được chỉ định dưới dạng phần trăm [ví dụ: 75%]val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
8
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
1
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
2
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
3
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
4
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
5
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
6
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]// Mode 2: equivalent to mode 1
5// Mode 2: equivalent to mode 1
6// Mode 2: equivalent to mode 1
7val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
7
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]// Mode 2: equivalent to mode 1
9val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
1
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
2
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
3
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
4
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
6
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]// Mode 2: equivalent to mode 1
5// Mode 2: equivalent to mode 1
7val movieSchema = StructType[Array[StructField["stockticker", StringType, true],
7
StructField["tradedate", IntegerType, true],
StructField["openprice", FloatType, true]]]
To do a summary for specific columns first select them:
______48
bộ đệm []. tập dữ liệu. cái này. loại
Duy trì Tập dữ liệu này với mức lưu trữ mặc định [MEMORY_AND_DISK]
kiên trì[]. tập dữ liệu. cái này. loại
Duy trì Tập dữ liệu này với mức lưu trữ mặc định [MEMORY_AND_DISK]
kiên trì [newLevel. Mức lưu trữ]. tập dữ liệu. cái này. loại
Duy trì Tập dữ liệu này với mức lưu trữ nhất định.
Cấp độ mới
Một trong số. MEMORY_ONLY, MEMORY_AND_DISK, MEMORY_ONLY_SER, MEMORY_AND_DISK_SER, DISK_ONLY, MEMORY_ONLY_2, MEMORY_AND_DISK_2, v.v.
không tồn tại []. tập dữ liệu. cái này. loại
Đánh dấu Bộ dữ liệu là không liên tục và xóa tất cả các khối cho nó khỏi bộ nhớ và đĩa
không tồn tại [chặn. Boolean]. tập dữ liệu. cái này. loại
Đánh dấu Tập dữ liệu là không liên tục và xóa tất cả các khối dành cho Tập dữ liệu đó khỏi bộ nhớ và ổ đĩa.
chặn. Có chặn cho đến khi tất cả các khối bị xóa hay không.
cấp lưu trữ. Mức độ lưu trữ
Nhận mức lưu trữ hiện tại của Dataset hoặc StorageLevel. KHÔNG nếu không được duy trì
thứ ba. RDD[T]
Thể hiện nội dung của Tập dữ liệu dưới dạng RDD của T
toDF[]. Khung dữ liệu
Chuyển đổi bộ sưu tập dữ liệu được gõ mạnh này thành Dataframe chung
toDF[colNames. Chuỗi*]. Khung dữ liệu
Chuyển đổi bộ sưu tập dữ liệu được gõ mạnh này thành DataFrame chung với các cột được đổi tên. val movieSchema = """stockticker STRING, tradedate INT, openprice FLOAT"""
9
hợp nhất [numPartitions. số nguyên]. Tập dữ liệu[T]
Trả về một Tập dữ liệu mới có chính xác các phân vùng numPartitions, khi có ít phân vùng hơn được yêu cầu
phân vùng lại [numPartitions. số nguyên]. Tập dữ liệu[T]
Trả về một Tập dữ liệu mới có chính xác các phân vùng numPartitions
phân vùng lại [numPartitions. Int, phân vùngExprs. Cột*]. Tập dữ liệu[T]
Trả về một Tập dữ liệu mới được phân vùng bởi các biểu thức phân vùng đã cho thành numPartitions. Tập dữ liệu kết quả được phân vùng băm
phân vùng lại [phân vùngExprs. Cột*]. Tập dữ liệu[T]
Trả về một Tập dữ liệu mới được phân vùng theo các biểu thức phân vùng đã cho, sử dụng spark. sql. xáo trộn. phân vùng như số lượng phân vùng
tổ chức. apache. tia lửa. sql - Chuyển đổi
chọn [col. Chuỗi, cols. Chuỗi*]. Khung dữ liệu
Chọn một nhóm cột.
______50
chọn [cột. Cột*]. Khung dữ liệu
Chọn một tập hợp các biểu thức dựa trên cột.
______51
selectExpr[exprs. Chuỗi*]. Khung dữ liệu
Chọn một tập hợp các biểu thức SQL.
_______52DataFrameReader.format[...].option["key", "value"].schema[...].load[paths: String*]
3DataFrameReader.format[...].option["key", "value"].schema[...].load[paths: String*]
4DataFrameReader.format[...].option["key", "value"].schema[...].load[paths: String*]
5
ở đâu [điều kiệnExpr. Chuỗi]. Tập dữ liệu[T]
Lọc các hàng bằng cách sử dụng biểu thức SQL đã cho.
Để lọc một DataFrame, bạn cũng có thể chỉ định một cột Boolean. DataFrameReader.format[...].option["key", "value"].schema[...].load[paths: String*]
6DataFrameReader.format[...].option["key", "value"].schema[...].load[paths: String*]
7
ở đâu [điều kiện. Cột]. Tập dữ liệu[T]
Lọc hàng theo điều kiện đã cho.
______58
bộ lọc[điều kiệnExpr. Chuỗi]. Tập dữ liệu[T]
Lọc các hàng bằng cách sử dụng biểu thức SQL đã cho.
______59
bộ lọc [điều kiện. Cột]. Tập dữ liệu[T]
Lọc hàng theo điều kiện đã cho.
// Những điều sau đây là tương đương.
______60DataFrameReader.format[...].option["key", "value"].schema[...].load[paths: String*]
8
bộ lọc [chức năng. [T] ⇒ Boolean]. Tập dữ liệu[T]
Trả về một Tập dữ liệu mới chỉ chứa các phần tử mà func trả về true
orderBy[sortExprs. Cột*]. Tập dữ liệu[T]
Trả về Tập dữ liệu mới được sắp xếp theo các biểu thức đã cho. Đây là bí danh của chức năng sắp xếp.
______62
orderBy[sortCol. Chuỗi, sortCols. Chuỗi*]. Tập dữ liệu[T]
Trả về một Tập dữ liệu mới được sắp xếp theo các biểu thức đã cho. Đây là bí danh của chức năng sắp xếp
sắp xếp[sortExprs. Cột*]. Tập dữ liệu[T]
Trả về Tập dữ liệu mới được sắp xếp theo các biểu thức đã cho.
e. g. spark.read
3
sắp xếp[sortCol. Chuỗi, sortCols. Chuỗi*]. Tập dữ liệu[T]
Trả về Tập dữ liệu mới được sắp xếp theo cột đã chỉ định, tất cả theo thứ tự tăng dần.
_______64spark.read
5spark.read
6spark.read
7
khác biệt[]. Tập dữ liệu[T]
Trả về một Tập dữ liệu mới chỉ chứa các hàng duy nhất từ Tập dữ liệu này. Đây là bí danh cho dropDuplicates
dropDuplicates[]. Tập dữ liệu[T]
Trả về một Tập dữ liệu mới chỉ chứa các hàng duy nhất từ Tập dữ liệu này. Đây là bí danh để phân biệt
dropDuplicates[col1. Chuỗi, cols. Chuỗi*]. Tập dữ liệu[T]
Trả về Tập dữ liệu mới đã loại bỏ các hàng trùng lặp, chỉ xem xét tập hợp con của các cột.
______68
dropDuplicates[colNames. Thứ tự [Chuỗi]]. Tập dữ liệu[T]
Trả về một Tập dữ liệu mới đã loại bỏ các hàng trùng lặp, chỉ xem xét tập hợp con của các cột
dropDuplicates[colNames. Mảng[Chuỗi]]. Tập dữ liệu[T]
Trả về một Tập dữ liệu mới đã loại bỏ các hàng trùng lặp, chỉ xem xét tập hợp con của các cột
giới hạn [n. số nguyên]. Tập dữ liệu[T]
Trả về một Tập dữ liệu mới bằng cách lấy n hàng đầu tiên. Sự khác biệt giữa chức năng này và head là head là một hành động và trả về một mảng [bằng cách kích hoạt thực thi truy vấn] trong khi giới hạn trả về một Tập dữ liệu mới
withColumn[colName. Chuỗi, col. Cột]. Khung dữ liệu
Trả về Tập dữ liệu mới bằng cách thêm một cột hoặc thay thế cột hiện tại có cùng tên.
Tuy nhiên, nếu tên cột đã cho khớp với một trong các tên hiện có, thì cột đó được thay thế bằng biểu thức cột đã cho.
______69
withColumnRenamed[tên hiện tại. Chuỗi, tên mới. Chuỗi]. Khung dữ liệu
Trả về Tập dữ liệu mới với cột được đổi tên. Đây là một lệnh cấm nếu lược đồ không chứa tên hiện tại.
Lưu ý rằng nếu ColName hiện có được cung cấp không tồn tại trong lược đồ, Spark sẽ không đưa ra lỗi và nó sẽ âm thầm không làm gì cả.
______70
drop[colName. Chuỗi]. Khung dữ liệu
Trả về Tập dữ liệu mới với các cột bị loại bỏ. Đây là lệnh cấm nếu lược đồ không chứa [các] tên cột.
______71
drop[colNames. Chuỗi*]. Khung dữ liệu
Trả về Tập dữ liệu mới với các cột bị loại bỏ. Đây là lệnh cấm nếu lược đồ không chứa [các] tên cột.
Bạn có thể chỉ định loại bỏ một hoặc nhiều tên cột, nhưng chỉ những cái tồn tại trong lược đồ mới bị loại bỏ và những cái không tồn tại sẽ bị bỏ qua một cách âm thầm.
______72
thả [cột. Cột]. Khung dữ liệu
Trả về Tập dữ liệu mới với một cột bị loại bỏ. Phiên bản thả này chấp nhận Cột thay vì tên. Đây là lệnh cấm nếu Tập dữ liệu không có cột có biểu thức tương đương.
______73
công đoàn [khác. Tập dữ liệu[T]]. Tập dữ liệu[T]
Trả về một Tập dữ liệu mới chứa tập hợp các hàng trong Tập dữ liệu này và một Tập dữ liệu khác.
Điều này tương đương với UNION ALL trong SQL. Để thực hiện liên kết tập hợp kiểu SQL [không trùng lặp các phần tử], hãy sử dụng hàm này theo sau là một dấu phân biệt.
Lưu ý rằng các vị trí cột trong lược đồ không nhất thiết phải khớp với các trường trong các đối tượng được nhập mạnh trong Tập dữ liệu. Hàm này giải quyết các cột theo vị trí của chúng trong lược đồ, không phải các trường trong các đối tượng được nhập mạnh. Sử dụng unionByName để giải quyết các cột theo tên trường trong các đối tượng đã nhập. val schema = StructType[Array[StructField["author", StringType, false],
4
StructField["title", StringType, false],
StructField["pages", IntegerType, false]]]val schema = StructType[Array[StructField["author", StringType, false],
5
StructField["title", StringType, false],
StructField["pages", IntegerType, false]]]val schema = StructType[Array[StructField["author", StringType, false],
6
StructField["title", StringType, false],
StructField["pages", IntegerType, false]]]val schema = StructType[Array[StructField["author", StringType, false],
7
StructField["title", StringType, false],
StructField["pages", IntegerType, false]]]val schema = StructType[Array[StructField["author", StringType, false],
8
StructField["title", StringType, false],
StructField["pages", IntegerType, false]]]val schema = StructType[Array[StructField["author", StringType, false],
9
StructField["title", StringType, false],
StructField["pages", IntegerType, false]]]val schema = StructType[Array[StructField["author", StringType, false],
8
StructField["title", StringType, false],
StructField["pages", IntegerType, false]]]val schema = “author STRING, title STRING, pages INT”
1val schema = “author STRING, title STRING, pages INT”
2val schema = StructType[Array[StructField["author", StringType, false],
8
StructField["title", StringType, false],
StructField["pages", IntegerType, false]]]
unionByName[khác. Tập dữ liệu[T]]. Tập dữ liệu[T]
Trả về một Tập dữ liệu mới chứa tập hợp các hàng trong Tập dữ liệu này và một Tập dữ liệu khác.
Điều này khác với cả UNION ALL và UNION DISTINCT trong SQL. Để thực hiện liên kết tập hợp kiểu SQL [không trùng lặp các phần tử], hãy sử dụng hàm này theo sau là một dấu phân biệt.
Sự khác biệt giữa hàm này và hàm union là hàm này phân giải các cột theo tên [không phải theo vị trí].
_______74val schema = StructType[Array[StructField["author", StringType, false],
5
StructField["title", StringType, false],
StructField["pages", IntegerType, false]]]val schema = “author STRING, title STRING, pages INT”
6val schema = StructType[Array[StructField["author", StringType, false],
7
StructField["title", StringType, false],
StructField["pages", IntegerType, false]]]val schema = StructType[Array[StructField["author", StringType, false],
8
StructField["title", StringType, false],
StructField["pages", IntegerType, false]]]val schema = StructType[Array[StructField["author", StringType, false],
9
StructField["title", StringType, false],
StructField["pages", IntegerType, false]]]val schema = StructType[Array[StructField["author", StringType, false],
8
StructField["title", StringType, false],
StructField["pages", IntegerType, false]]]val schema = “author STRING, title STRING, pages INT”
1scala> Seq[[1, 2]].toDF["i", "j"].write.mode["overwrite"].saveAsTable["t1"] scala> Seq[[3, 4]].toDF["j", "i"].write.mode["append"].saveAsTable["t1"]
2
scala> sql["select * from t1"].showval schema = StructType[Array[StructField["author", StringType, false],
8
StructField["title", StringType, false],
StructField["pages", IntegerType, false]]]
giao nhau [khác. Tập dữ liệu[T]]. Tập dữ liệu[T]
Trả về một Tập dữ liệu mới chỉ chứa các hàng trong cả Tập dữ liệu này và Tập dữ liệu khác. Điều này tương đương với INTERSECT trong SQL
Làm việc với Booleans - Cột
===[khác. Bất kỳ]. Cột
Kiểm tra đẳng thức.
______94
bằng [khác. Bất kỳ]. Cột
Kiểm tra đẳng thức.
______95
[khác. Bất kỳ]. Cột
Kiểm tra đẳng thức an toàn cho các giá trị null
=. =[khác. Bất kỳ]. Cột
Kiểm tra bất đẳng thức.
______96
=[khác. Bất kỳ]. Cột
Lớn hơn hoặc bằng một biểu thức
&&[khác. Bất kỳ]. Cột
Boolean AND
[khác. Bất kỳ]. Cột
Boolean HOẶC
làNaN. Cột
Đúng nếu biểu thức hiện tại là NaN
isNotNull. Cột
Đúng nếu biểu thức hiện tại KHÔNG rỗng
làNull. Cột
True nếu biểu thức hiện tại là null
isin[danh sách. Bất kỳ*]. Cột
Một biểu thức boolean được đánh giá là đúng nếu giá trị của biểu thức này được chứa bởi các giá trị được đánh giá của các đối số.
Theo tài liệu, isin lấy một vararg, không phải một danh sách. Danh sách thực sự là một cái tên khó hiểu ở đây.
______97scala> Seq[[1, 2]].toDF["i", "j"].write.mode["overwrite"].saveAsTable["t1"] scala> Seq[[3, 4]].toDF["j", "i"].write.mode["append"].saveAsTable["t1"]
8
scala> sql["select * from t1"].show
hoặcscala> Seq[[1, 2]].toDF["i", "j"].write.mode["overwrite"].saveAsTable["t1"] scala> Seq[[3, 4]].toDF["j", "i"].write.mode["append"].saveAsTable["t1"]
9
scala> sql["select * from t1"].show
thích [nghĩa đen. Chuỗi]. Cột
biểu thức giống SQL. Trả về một cột boolean dựa trên đối sánh SQL LIKE.
Ký tự đại diện SQL
%. Đại diện cho không hoặc nhiều ký tự, e. g. // Mode 1
00 tìm thấy bl, đen, xanh lam và blob
_. Đại diện cho một ký tự đơn, e. g. // Mode 1
01 thấy hấp dẫn, mũ và hit
[]. Đại diện cho bất kỳ ký tự đơn nào trong ngoặc đơn, e. g. // Mode 1
02 thấy nóng đội mũ mà không trúng
^. Đại diện cho bất kỳ ký tự nào không có trong ngoặc, e. g. // Mode 1
03 tìm thấy hit, nhưng không nóng và mũ
-. Đại diện cho một loạt các ký tự, e. g. // Mode 1
04 tìm thấy con mèo và cbt
rlike [nghĩa đen. Chuỗi]. Cột
Biểu thức SQL RLIKE [THÍCH với Regex]
startedWith[nghĩa đen. Chuỗi]. Cột
Chuỗi bắt đầu bằng một chuỗi ký tự khác. Trả về một cột boolean dựa trên khớp chuỗi
startedWith[khác. Cột]. Cột
Chuỗi bắt đầu bằng
kết thúcWith[nghĩa đen. Chuỗi]. Cột
Chuỗi kết thúc bằng một chuỗi ký tự khác. Trả về một cột boolean dựa trên khớp chuỗi
kết thúcWith[khác. Cột]. Cột
Chuỗi kết thúc bằng. Trả về một cột boolean dựa trên khớp chuỗi
chứa [khác. Bất kỳ]. Cột
Chứa phần tử khác. Trả về một cột boolean dựa trên khớp chuỗi
tổ chức. apache. tia lửa. sql. cột
Làm việc với Booleans - chức năng
Ghi chú. Cột]. Cột
Đảo ngược biểu thức boolean, i. e. KHÔNG PHẢI
isnan[e]. Cột]. Cột
Trả về true nếu cột là NaN
isnull[e. Cột]. Cột
Trả về true nếu cột là null
tổ chức. apache. tia lửa. sql. chức năng
Làm việc với Số - Cột
+[khác. Bất kỳ]. Cột
Tổng của biểu thức này và biểu thức khác
-[khác. Bất kỳ]. Cột
phép trừ. Trừ biểu thức khác khỏi biểu thức này
*[khác. Bất kỳ]. Cột
Nhân biểu thức này với biểu thức khác
/[khác. Bất kỳ]. Cột
Chia biểu thức này cho biểu thức khác
%[khác. Bất kỳ]. Cột
Modulo [a. k. a.
取余数, e. g. // Mode 1
05
tổ chức. apache. tia lửa. sql. cột
Làm việc với số - hàm
cơ bụng [e. Cột]. Cột
Tính giá trị tuyệt đối
tròn [e. Cột]. Cột
Trả về giá trị của cột e được làm tròn đến 0 chữ số thập phân với chế độ làm tròn HALF_UP
tròn [e. Cột, tỷ lệ. số nguyên]. Cột
Làm tròn giá trị của e để chia tỷ lệ các vị trí thập phân với chế độ làm tròn HALF_UP nếu tỷ lệ lớn hơn hoặc bằng 0 hoặc ở phần nguyên khi tỷ lệ nhỏ hơn 0
màu nâu đất [e. Cột]. Cột
Trả về giá trị của cột e được làm tròn đến 0 chữ số thập phân với chế độ làm tròn HALF_EVEN.
HALF_EVEN làm tròn về phía "hàng xóm gần nhất" trừ khi cả hai hàng xóm cách đều nhau, trong trường hợp đó, làm tròn về phía hàng xóm chẵn.
màu nâu đất [e. Cột, tỷ lệ. số nguyên]. Cột
Làm tròn giá trị của e để chia tỷ lệ các vị trí thập phân với chế độ làm tròn HALF_EVEN nếu tỷ lệ lớn hơn hoặc bằng 0 hoặc ở phần nguyên khi tỷ lệ nhỏ hơn 0
bột [l. Nhân đôi, đúngTên. Chuỗi]. Cột
Trả về giá trị của đối số đầu tiên được nâng lên lũy thừa của đối số thứ hai
bột [l. gấp đôi, r. Cột]. Cột
Trả về giá trị của đối số đầu tiên được nâng lên lũy thừa của đối số thứ hai
pow[leftName. Chuỗi, r. Gấp đôi]. Cột
Trả về giá trị của đối số đầu tiên được nâng lên lũy thừa của đối số thứ hai
bột [l. Cột, r. Gấp đôi]. Cột
Trả về giá trị của đối số đầu tiên được nâng lên lũy thừa của đối số thứ hai
pow[leftName. Chuỗi, tên phải. Chuỗi]. Cột
Trả về giá trị của đối số đầu tiên được nâng lên lũy thừa của đối số thứ hai
pow[leftName. Chuỗi, r. Cột]. Cột
Trả về giá trị của đối số đầu tiên được nâng lên lũy thừa của đối số thứ hai
bột [l. Cột, bên phảiTên. Chuỗi]. Cột
Trả về giá trị của đối số đầu tiên được nâng lên lũy thừa của đối số thứ hai
bột [l. Cột, r. Cột]. Cột
Trả về giá trị của đối số đầu tiên được nâng lên lũy thừa của đối số thứ hai
tổ chức. apache. tia lửa. sql. chức năng
Làm việc với Chuỗi - Cột
chứa [khác. Bất kỳ]. Cột
Chứa phần tử khác. Trả về một cột boolean dựa trên khớp chuỗi
startedWith[nghĩa đen. Chuỗi]. Cột
Chuỗi bắt đầu bằng một chuỗi ký tự khác. Trả về một cột boolean dựa trên khớp chuỗi
startedWith[khác. Cột]. Cột
Chuỗi bắt đầu bằng. Trả về một cột boolean dựa trên khớp chuỗi
kết thúcWith[nghĩa đen. Chuỗi]. Cột
Chuỗi kết thúc bằng một chuỗi ký tự khác. Trả về một cột boolean dựa trên khớp chuỗi
kết thúcWith[khác. Cột]. Cột
Chuỗi kết thúc bằng. Trả về một cột boolean dựa trên khớp chuỗi
chất nền [startPos. int, len. số nguyên]. Cột
Một biểu thức trả về một chuỗi con.
startPos bắt đầu bằng 1.
Trong scala, String cũng có một hàm substring[int beginIndex, int endIndex], ở đây beginIndex bắt đầu từ 0.
chất nền [startPos. Cột, len. Cột]. Cột
Một biểu thức trả về một chuỗi con
thích [nghĩa đen. Chuỗi]. Cột
biểu thức giống SQL. Trả về một cột boolean dựa trên đối sánh SQL LIKE.
Ký tự đại diện SQL
%. Đại diện cho không hoặc nhiều ký tự, e. g. // Mode 1
00 tìm thấy bl, đen, xanh lam và blob
_. Đại diện cho một ký tự đơn, e. g. // Mode 1
01 thấy hấp dẫn, mũ và hit
[]. Đại diện cho bất kỳ ký tự đơn nào trong ngoặc đơn, e. g. // Mode 1
02 thấy nóng đội mũ mà không trúng
^. Đại diện cho bất kỳ ký tự nào không có trong ngoặc, e. g. // Mode 1
03 tìm thấy hit, nhưng không nóng và mũ
-. Đại diện cho một loạt các ký tự, e. g. // Mode 1
04 tìm thấy con mèo và cbt
rlike [nghĩa đen. Chuỗi]. Cột
Biểu thức SQL RLIKE [THÍCH với Regex]
tổ chức. apache. tia lửa. sql. cột
Làm việc với chuỗi - hàm
initcap[e. Cột]. Cột
Trả về một cột chuỗi mới bằng cách chuyển đổi chữ cái đầu tiên của mỗi từ thành chữ hoa
thấp hơn [e. Cột]. Cột
Chuyển đổi một cột chuỗi thành chữ thường
trên [e. Cột]. Cột
Chuyển đổi một cột chuỗi thành chữ hoa
cắt [e. Cột]. Cột
Cắt khoảng trắng ở cả hai đầu cho cột chuỗi đã chỉ định
cắt [e. Cột, trimString. Chuỗi]. Cột
Cắt ký tự đã chỉ định từ cả hai đầu cho cột chuỗi đã chỉ định
ltrim[e]. Cột]. Cột
Cắt khoảng trắng từ đầu bên trái cho giá trị chuỗi đã chỉ định
ltrim[e]. Cột, trimString. Chuỗi]. Cột
Cắt chuỗi ký tự đã chỉ định từ đầu bên trái cho cột chuỗi đã chỉ định
rtrim[e. Cột]. Cột
Cắt khoảng trắng từ đầu bên phải cho giá trị chuỗi đã chỉ định
rtrim[e. Cột, trimString. Chuỗi]. Cột
Cắt chuỗi ký tự đã chỉ định từ đầu bên phải cho cột chuỗi đã chỉ định
lpad[str. Cột, len. Int, đệm. Chuỗi]. Cột
Đệm bên trái cột chuỗi với độ dài của len. Nếu cột chuỗi dài hơn len, giá trị trả về được rút ngắn thành ký tự len
rpad [str. Cột, len. Int, đệm. Chuỗi]. Cột
Đệm bên phải cột chuỗi bằng miếng đệm có chiều dài bằng len. Nếu cột chuỗi dài hơn len, giá trị trả về được rút ngắn thành ký tự len
chuỗi con[str. Cột, vị trí. int, len. số nguyên]. Cột
Chuỗi con bắt đầu tại pos và có độ dài len khi str là kiểu Chuỗi hoặc trả về lát của mảng byte bắt đầu tại pos trong byte và có độ dài len khi str là kiểu nhị phân.
Lưu ý. Vị trí không dựa trên 0, mà dựa trên 1 chỉ số. 1.
Trong scala, String cũng có một hàm substring[int beginIndex, int endIndex], ở đây beginIndex bắt đầu từ 0.
substring_index[str. Cột, dấu phân cách. Chuỗi, đếm. số nguyên]. Cột
Trả về chuỗi con từ chuỗi str trước khi đếm số lần xuất hiện của dấu phân cách. Nếu số đếm là dương, mọi thứ bên trái của dấu phân cách cuối cùng [đếm từ trái sang] được trả về. Nếu số đếm là số âm, mỗi bên phải của dấu phân cách cuối cùng [đếm từ bên phải] được trả về. substring_index thực hiện khớp phân biệt chữ hoa chữ thường khi tìm kiếm dấu phân cách
regexp_extract[e. Cột, điểm kinh nghiệm. Chuỗi, nhómIdx. số nguyên]. Cột
Trích xuất một nhóm cụ thể khớp với biểu thức chính quy Java, từ cột chuỗi đã chỉ định. Nếu biểu thức chính quy không khớp hoặc nhóm được chỉ định không khớp, một chuỗi trống sẽ được trả về.
______111// Mode 1
12
Có thể có nhiều mẫu trùng khớp trong một chuỗi; .
regexp_replace[e. Cột, hoa văn. Cột, thay thế. Cột]. Cột
Thay thế tất cả các chuỗi con của giá trị chuỗi đã chỉ định khớp với biểu thức chính quy bằng đại diện
regexp_replace[e. Cột, hoa văn. Chuỗi, thay thế. Chuỗi]. Cột
Thay thế tất cả các chuỗi con của giá trị chuỗi đã chỉ định khớp với biểu thức chính quy bằng rep.
______111// Mode 1
14// Mode 1
15
lặp lại [str. Cột, n. số nguyên]. Cột
Lặp lại một cột chuỗi n lần và trả về nó dưới dạng một cột chuỗi mới
đảo ngược [str. Cột]. Cột
Đảo ngược cột chuỗi và trả về dưới dạng cột chuỗi mới
tách [str. Cột, hoa văn. Chuỗi]. Cột
Tách str xung quanh mẫu [mẫu là biểu thức chính quy]
chiều dài [e. Cột]. Cột
Tính toán độ dài ký tự của một chuỗi đã cho hoặc số byte của một chuỗi nhị phân. Độ dài của chuỗi ký tự bao gồm khoảng trắng ở cuối. Độ dài của chuỗi nhị phân bao gồm các số không nhị phân
dịch [src. Cột, chuỗi phù hợp. Chuỗi, chuỗi thay thế. Chuỗi]. Cột
Dịch bất kỳ ký tự nào trong src bằng một ký tự trong chuỗi thay thế. Các ký tự trong replaceString tương ứng với các ký tự trong MatchString. Quá trình dịch sẽ xảy ra khi bất kỳ ký tự nào trong chuỗi khớp với ký tự trong chuỗi khớp
concat[exprs. Cột*]. Cột
Nối nhiều cột đầu vào với nhau thành một cột duy nhất. Nếu tất cả các đầu vào là nhị phân, concat trả về một đầu ra là nhị phân. Nếu không, nó trả về dưới dạng chuỗi
concat_ws[tháng 9. Chuỗi, exprs. Cột*]. Cột
Nối nhiều cột chuỗi đầu vào với nhau thành một cột chuỗi duy nhất, sử dụng dấu tách đã cho
hướng dẫn[str. Cột, chuỗi con. Chuỗi]. Cột
Xác định vị trí xuất hiện đầu tiên của cột substr trong chuỗi đã cho. Trả về null nếu một trong hai đối số là null.
Lưu ý. Vị trí không dựa trên 0, mà dựa trên 1 chỉ số. Trả về 0 nếu không tìm thấy chất nền trong str.
xác định vị trí [chất nền. Chuỗi, str. Cột, vị trí. số nguyên]. Cột
Xác định vị trí xuất hiện đầu tiên của substr trong cột chuỗi, sau vị trí pos.
Lưu ý. Vị trí không dựa trên 0, mà dựa trên 1 chỉ số. Trả về 0 nếu không tìm thấy chất nền trong str.
xác định vị trí [chất nền. Chuỗi, str. Cột]. Cột
Xác định vị trí xuất hiện đầu tiên của substr trong cột chuỗi, sau vị trí pos.
Lưu ý. Vị trí không dựa trên 0, mà dựa trên 1 chỉ số. Trả về 0 nếu không tìm thấy chất nền trong str.
tổ chức. apache. tia lửa. sql. chức năng
Làm việc với Ngày/Giờ - các hàm
ngày_hiện tại[]. Cột
Trả về ngày hiện tại dưới dạng cột ngày
current_timestamp[]. Cột
Trả về dấu thời gian hiện tại dưới dạng cột dấu thời gian
date_add[bắt đầu. Cột, ngày. số nguyên]. Cột
Trả về ngày đó là ngày ngày sau khi bắt đầu
date_sub[bắt đầu. Cột, ngày. số nguyên]. Cột
Trả về ngày đó là ngày trước khi bắt đầu
dateiff [kết thúc. Cột, bắt đầu. Cột]. Cột
Trả về số ngày từ đầu đến cuối
thêm_tháng[ngày bắt đầu. Cột, sốTháng. số nguyên]. Cột
Trả về ngày là numMonths sau startDate
tháng_giữa[ngày1. Cột, ngày2. Cột]. Cột
Trả về số tháng giữa các ngày date1 và date2
năm[e. Cột]. Cột
Trích xuất năm dưới dạng số nguyên từ một ngày/dấu thời gian/chuỗi đã cho
quý[e. Cột]. Cột
Trích xuất quý dưới dạng số nguyên từ một ngày/dấu thời gian/chuỗi đã cho
tháng[e. Cột]. Cột
Trích xuất tháng dưới dạng số nguyên từ một ngày/dấu thời gian/chuỗi đã cho
tuần của năm[e. Cột]. Cột
Trích xuất số tuần dưới dạng số nguyên từ một ngày/dấu thời gian/chuỗi đã cho
dayofyear[e. Cột]. Cột
Trích xuất ngày trong năm dưới dạng số nguyên từ ngày/dấu thời gian/chuỗi đã cho
ngày của tháng[e. Cột]. Cột
Trích xuất ngày trong tháng dưới dạng số nguyên từ ngày/dấu thời gian/chuỗi đã cho
ngày trong tuần[e. Cột]. Cột
Trích xuất ngày trong tuần dưới dạng số nguyên từ ngày/dấu thời gian/chuỗi đã cho
giờ[e. Cột]. Cột
Trích xuất số giờ dưới dạng số nguyên từ một ngày/dấu thời gian/chuỗi đã cho
phút[e. Cột]. Cột
Trích xuất số phút dưới dạng số nguyên từ một ngày/dấu thời gian/chuỗi đã cho
thứ hai [e. Cột]. Cột
Trích xuất giây dưới dạng số nguyên từ ngày/dấu thời gian/chuỗi đã cho
to_date[e. Cột]. Cột
Chuyển đổi cột thành DateType bằng cách truyền quy tắc thành DateType
to_date[e. Cột, fmt. Chuỗi]. Cột
Chuyển đổi cột thành DateType với định dạng được chỉ định [xem [http. // tài liệu. tiên tri. com/javase/tutorial/i18n/format/simpleDateFormat. html]] trả về null nếu không thành công.
Định dạng ở đây là định dạng được Date sử dụng để lưu vào DF.
DF. show[] sẽ hiển thị ngày ở định dạng mặc định yyyy-MM-dd.
to_timestamp[s]. Cột]. Cột
Chuyển đổi chuỗi thời gian thành dấu thời gian Unix [tính bằng giây] bằng cách chuyển quy tắc thành Dấu thời gian
to_timestamp[s]. Cột, fmt. Chuỗi]. Cột
Chuyển đổi chuỗi thời gian thành dấu thời gian Unix [tính bằng giây] với định dạng được chỉ định [xem [http. // tài liệu. tiên tri. com/javase/tutorial/i18n/format/simpleDateFormat. html]] sang dấu thời gian Unix [tính bằng giây], trả về null nếu không thành công.
Định dạng ở đây là định dạng được dấu thời gian sử dụng để lưu trong DF.
DF. show[] sẽ hiển thị dấu thời gian ở định dạng mặc định yyyy-MM-dd HH. mm. ss
date_format[dateExpr. Cột, định dạng. Chuỗi]. Cột
Chuyển đổi một ngày/dấu thời gian/chuỗi thành một giá trị của chuỗi ở định dạng được chỉ định bởi định dạng ngày được cung cấp bởi đối số thứ hai. Một mô hình đ. MM. yyyy sẽ trả về một chuỗi như 18. 03. 1993. Tất cả các chữ cái mẫu của java. văn bản. SimpleDateFormat có thể được sử dụng
unix_timestamp[]. Cột
Trả về dấu thời gian Unix hiện tại [tính bằng giây]
unix_timestamp[s. Cột]. Cột
Chuyển đổi chuỗi thời gian ở định dạng yyyy-MM-dd HH. mm. ss sang dấu thời gian Unix [tính bằng giây], sử dụng múi giờ mặc định và ngôn ngữ mặc định. Trả về null nếu thất bại
unix_timestamp[s. Cột, p. Chuỗi]. Cột
Chuyển đổi chuỗi thời gian với mẫu đã cho thành dấu thời gian Unix [tính bằng giây]. Trả về null nếu thất bại
from_unixtime[ut. Cột, f. Chuỗi]. Cột
Chuyển đổi số giây từ unix epoch [1970-01-01 00. 00. 00 UTC] thành một chuỗi biểu thị dấu thời gian của thời điểm đó trong múi giờ hệ thống hiện tại ở định dạng đã cho
from_unixtime[ut. Cột]. Cột
Chuyển đổi số giây từ unix epoch [1970-01-01 00. 00. 00 UTC] thành một chuỗi biểu thị dấu thời gian của thời điểm đó trong múi giờ hệ thống hiện tại ở định dạng đã cho
ngày_cuối[e. Cột]. Cột
Cho một cột ngày, trả về ngày cuối cùng của tháng chứa ngày đã cho. Ví dụ: đầu vào "2015-07-27" trả về "2015-07-31" vì ngày 31 tháng 7 là ngày cuối cùng của tháng trong tháng 7 năm 2015
next_day[ngày. Cột, ngày trong tuần. Chuỗi]. Cột
Cho một cột ngày, trả về ngày đầu tiên muộn hơn giá trị của cột ngày vào ngày được chỉ định trong tuần.
Ví dụ: next_day['2015-07-27', "Sunday"] trả về 2015-08-02 vì đó là Chủ Nhật đầu tiên sau 2015-07-27.
Tham số ngày trong tuần không phân biệt chữ hoa chữ thường và chấp nhận. "Thứ Hai", "Thứ Ba", "Thứ Tư", "Thứ Năm", "Thứ Sáu", "Thứ Bảy", "Chủ Nhật".
tổ chức. apache. tia lửa. sql. hàm
Định dạng ngày mặc định mà các hàm này sử dụng là yyyy-MM-dd HH. mm. ss.
Làm việc với Null/NaN - Cột
làNull. Cột
True nếu biểu thức hiện tại là null
isNotNull. Cột
Đúng nếu biểu thức hiện tại KHÔNG rỗng
làNaN. Cột
Đúng nếu biểu thức hiện tại là NaN
tổ chức. apache. tia lửa. sql. cột
Làm việc với Null/NaN - chức năng
isnull[e. Cột]. Cột
Trả về true nếu cột là null
isnan[e]. Cột]. Cột
Trả về true nếu cột là NaN
nanvl[col1. Cột, col2. Cột]. Cột
Trả về col1 nếu không phải là NaN hoặc col2 nếu col1 là NaN. Cả hai đầu vào phải là cột dấu phẩy động [DoubleType hoặc FloatType]
kết hợp lại [e. Cột*]. Cột
Trả về cột đầu tiên không phải là null hoặc null nếu tất cả đầu vào đều là null. Ví dụ: hợp nhất [a, b, c] sẽ trả về a nếu a không null hoặc b nếu a null và b không null hoặc c nếu cả a và b đều null nhưng c không null.
______116// Mode 1
17// Mode 1
18// Mode 1
19// Mode 1
20 . Tiêu đề mới.
+----------+
| new_title|
+-----------+
. no_name.
. John Doe.
+----------+
tổ chức. apache. tia lửa. sql. chức năng
Làm việc với Null/NaN - DataFrameNaFunctions
làm rơi[]. Khung dữ liệu
Trả về một DataFrame mới loại bỏ các hàng chứa bất kỳ giá trị null hoặc NaN nào
thả [làm thế nào. Chuỗi]. Khung dữ liệu
Trả về một Khung dữ liệu mới loại bỏ các hàng chứa giá trị null hoặc NaN.
Nếu thế nào là "bất kỳ", thì hãy bỏ các hàng chứa bất kỳ giá trị null hoặc NaN nào. Nếu thế nào là "tất cả", thì chỉ bỏ hàng nếu mỗi cột là null hoặc NaN cho hàng đó.
thả [cột. Thứ tự [Chuỗi]]. Khung dữ liệu
[Dành riêng cho Scala] Trả về một Khung dữ liệu mới loại bỏ các hàng chứa bất kỳ giá trị null hoặc NaN nào trong các cột được chỉ định
thả [làm thế nào. Chuỗi, cols. Thứ tự [Chuỗi]]. Khung dữ liệu
[Dành riêng cho Scala] Trả về một Khung dữ liệu mới loại bỏ các hàng chứa giá trị null hoặc NaN trong các cột đã chỉ định. Nếu là "bất kỳ", thì hãy bỏ các hàng chứa bất kỳ giá trị null hoặc NaN nào vào các cột đã chỉ định. Nếu thế nào là "tất cả", thì chỉ bỏ hàng nếu mọi cột được chỉ định là null hoặc NaN cho hàng đó
drop[minNonNulls. số nguyên]. Khung dữ liệu
Trả về một Khung dữ liệu mới loại bỏ các hàng chứa ít hơn các giá trị không phải null và không phải NaN của minNonNulls
drop[minNonNulls. Int, cols. Thứ tự [Chuỗi]]. Khung dữ liệu
[Dành riêng cho Scala] Trả về một Khung dữ liệu mới loại bỏ các hàng chứa ít hơn minNonNulls các giá trị không null và không phải NaN trong các cột được chỉ định
điền [giá trị. Chuỗi/Boolean/Đôi/Dài]. Khung dữ liệu
Trả về một DataFrame mới thay thế các giá trị null trong các cột chuỗi/boolean [hoặc các giá trị null hoặc NaN trong các cột số] bằng giá trị
điền [giá trị. Chuỗi/Boolean/Đôi/Dài, cols. Thứ tự [Chuỗi]]. Khung dữ liệu
[Dành riêng cho Scala] Trả về một Khung dữ liệu mới thay thế các giá trị null trong các cột chuỗi/boolean/kép/dài được chỉ định
điền vào [bản đồ giá trị. Bản đồ[Chuỗi, Bất kỳ]]. Khung dữ liệu
[Scala-specific] Trả về một DataFrame mới thay thế các giá trị null. Khóa của bản đồ là tên cột và giá trị của bản đồ là giá trị thay thế. Giá trị phải thuộc loại sau. Int, Long, Float, Double, String, Boolean. Các giá trị thay thế được chuyển thành kiểu dữ liệu cột.
e. g. // Mode 1
21
thay thếT. Khung dữ liệu
[Scala cụ thể] Thay thế các giá trị phù hợp với các khóa trong bản đồ thay thế.
tên cột của cột để áp dụng giá trị thay thế. Nếu col là "*", thay thế được áp dụng trên tất cả các cột chuỗi, số hoặc boolean.
bản đồ thay thế giá trị thay thế. Khóa và giá trị của bản đồ thay thế phải có cùng loại và chỉ có thể là giá trị kép, chuỗi hoặc booleans. Giá trị bản đồ có thể có null.
// Thay thế tất cả các lần xuất hiện của 1. 0 với 2. 0 trong cột "chiều cao".
df. na. thay thế ["chiều cao", Bản đồ [1. 0 -> 2. 0]];
// Thay thế tất cả các lần xuất hiện của "UNKNOWN" bằng "unnamed" trong cột "name".
df. na. replace["name", Map["UNKNOWN" -> "unnamed"]];
// Thay thế tất cả các lần xuất hiện của "UNKNOWN" bằng "unnamed" trong tất cả các cột chuỗi.
df. na. replace["*", Map["UNKNOWN" -> "unnamed"]];
thay thếT. Khung dữ liệu
[Scala cụ thể] Thay thế các giá trị phù hợp với các khóa trong bản đồ thay thế.
// Thay thế tất cả các lần xuất hiện của 1. 0 với 2. 0 trong cột "chiều cao" và "cân nặng".
df. na. thay thế ["chiều cao". "trọng lượng". Không, Bản đồ [1. 0 -> 2. 0]];
// Thay thế tất cả các lần xuất hiện của "UNKNOWN" bằng "unnamed" trong cột "firstname" và "lastname".
df. na. thay thế ["tên". "họ". Không, Map["UNKNOWN" -> "unnamed"]];
tổ chức. apache. tia lửa. sql. DataFrameNaFunctions
sử dụng // Mode 1
22 để nhận DataFrameNaFunctions
Làm việc với Sắp xếp - Cột
Tăng dần. Cột
Trả về một biểu thức sắp xếp dựa trên thứ tự tăng dần của cột.
// Scala. sắp xếp DataFrame theo cột tuổi theo thứ tự tăng dần.
______123
asc_nulls_first. Cột
Trả về một biểu thức sắp xếp dựa trên thứ tự tăng dần của cột và các giá trị null trả về trước các giá trị khác null
asc_nulls_last. Cột
Trả về một biểu thức sắp xếp dựa trên thứ tự tăng dần của cột và các giá trị null xuất hiện sau các giá trị khác null
giải thích. Cột
Trả về một biểu thức sắp xếp dựa trên thứ tự giảm dần của cột
desc_nulls_first. Cột
Trả về một biểu thức sắp xếp dựa trên thứ tự giảm dần của cột và các giá trị null xuất hiện trước các giá trị khác null
desc_nulls_last. Cột
Trả về một biểu thức sắp xếp dựa trên thứ tự giảm dần của cột và các giá trị null xuất hiện sau các giá trị khác null
tổ chức. apache. tia lửa. sql. cột
Làm việc với chức năng Sắp xếp
asc[tên cột. Chuỗi]. Cột
Trả về một biểu thức sắp xếp dựa trên thứ tự tăng dần của cột.
______124
asc_nulls_first[tên cột. Chuỗi]. Cột
Trả về một biểu thức sắp xếp dựa trên thứ tự tăng dần của cột và các giá trị null trả về trước các giá trị khác null
asc_nulls_last[tên cột. Chuỗi]. Cột
Trả về một biểu thức sắp xếp dựa trên thứ tự tăng dần của cột và các giá trị null xuất hiện sau các giá trị khác null
desc[tên cột. Chuỗi]. Cột
Trả về một biểu thức sắp xếp dựa trên thứ tự giảm dần của cột
desc_nulls_first[tên cột. Chuỗi]. Cột
Trả về một biểu thức sắp xếp dựa trên thứ tự giảm dần của cột và các giá trị null xuất hiện trước các giá trị khác null
desc_nulls_last[tên cột. Chuỗi]. Cột
Trả về một biểu thức sắp xếp dựa trên thứ tự giảm dần của cột và các giá trị null xuất hiện sau các giá trị khác null
tổ chức. apache. tia lửa. sql. chức năng
Làm việc với các hàm tổng hợp
đếm [tên cột. Chuỗi]. TypedColumn[Bất kỳ, Dài]
Hàm tổng hợp. trả về số lượng mục trong một nhóm.
đếm["*"]. đếm giá trị null
count[
đếm [e. Cột]. Cột
Chức năng tổng hợp. trả về số lượng mục trong một nhóm
đếmDistinct[columnName. Chuỗi, tên cột. Chuỗi*]. Cột
Chức năng tổng hợp. trả về số lượng các mục riêng biệt trong một nhóm
đếmDistinct[expr. Cột, exprs. Cột*]. Cột
Chức năng tổng hợp. trả về số lượng các mục riêng biệt trong một nhóm
đầu tiên [tên cột. Chuỗi]. Cột
Chức năng tổng hợp. trả về giá trị đầu tiên của một cột trong một nhóm. Theo mặc định, hàm trả về các giá trị đầu tiên mà nó nhìn thấy. Nó sẽ trả về giá trị khác null đầu tiên mà nó nhìn thấy khi ignoreNulls được đặt thành true. Nếu tất cả các giá trị là null, thì null được trả về
đầu tiên [e. Cột]. Cột
Chức năng tổng hợp. trả về giá trị đầu tiên trong một nhóm
đầu tiên [tên cột. Chuỗi, bỏ quaNulls. Boolean]. Cột
Chức năng tổng hợp. trả về giá trị đầu tiên của một cột trong một nhóm
đầu tiên [e. Cột, bỏ quaNulls. Boolean]. Cột
Chức năng tổng hợp. trả về giá trị đầu tiên trong một nhóm
cuối cùng [tên cột. Chuỗi]. Cột
Chức năng tổng hợp. trả về giá trị cuối cùng của cột trong một nhóm. Theo mặc định, hàm trả về các giá trị cuối cùng mà nó nhìn thấy. Nó sẽ trả về giá trị khác null cuối cùng mà nó nhìn thấy khi ignoreNulls được đặt thành true. Nếu tất cả các giá trị là null, thì null được trả về
cuối cùng [e. Cột]. Cột
Chức năng tổng hợp. trả về giá trị cuối cùng trong một nhóm
cuối cùng [tên cột. Chuỗi, bỏ quaNulls. Boolean]. Cột
Chức năng tổng hợp. trả về giá trị cuối cùng của cột trong một nhóm
cuối cùng [e. Cột, bỏ quaNulls. Boolean]. Cột
Chức năng tổng hợp. trả về giá trị cuối cùng trong một nhóm
tối thiểu [tên cột. Chuỗi]. Cột
Chức năng tổng hợp. trả về giá trị nhỏ nhất của cột trong một nhóm
của tôi. Cột]. Cột
Chức năng tổng hợp. trả về giá trị nhỏ nhất của biểu thức trong một nhóm
tối đa [tên cột. Chuỗi]. Cột
Chức năng tổng hợp. trả về giá trị lớn nhất của cột trong một nhóm
tối đa [e. Cột]. Cột
Chức năng tổng hợp. trả về giá trị lớn nhất của biểu thức trong một nhóm
tổng [tên cột. Chuỗi]. Cột
Chức năng tổng hợp. trả về tổng của tất cả các giá trị trong cột đã cho
tổng [e. Cột]. Cột
Chức năng tổng hợp. trả về tổng của tất cả các giá trị trong biểu thức
sumDistinct[tên cột. Chuỗi]. Cột
Chức năng tổng hợp. trả về tổng các giá trị riêng biệt trong biểu thức
sumDistinct[e. Cột]. Cột
Chức năng tổng hợp. trả về tổng các giá trị riêng biệt trong biểu thức
trung bình [tên cột. Chuỗi]. Cột
Chức năng tổng hợp. trả về giá trị trung bình của các giá trị trong một nhóm
trung bình[e. Cột]. Cột
Chức năng tổng hợp. trả về giá trị trung bình của các giá trị trong một nhóm
nghĩa là [tên cột. Chuỗi]. Cột
Chức năng tổng hợp. trả về giá trị trung bình của các giá trị trong một nhóm. Bí danh cho trung bình
có nghĩa là [e. Cột]. Cột
Chức năng tổng hợp. trả về giá trị trung bình của các giá trị trong một nhóm. Bí danh cho trung bình
phương sai [tên cột. Chuỗi]. Cột
Chức năng tổng hợp. bí danh cho var_samp
phương sai [e. Cột]. Cột
Chức năng tổng hợp. bí danh cho var_samp
var_samp[tên cột. Chuỗi]. Cột
Chức năng tổng hợp. trả về phương sai không thiên vị của các giá trị trong một nhóm
var_samp[e. Cột]. Cột
Chức năng tổng hợp. trả về phương sai không thiên vị của các giá trị trong một nhóm
var_pop[tên cột. Chuỗi]. Cột
Chức năng tổng hợp. trả về phương sai dân số của các giá trị trong một nhóm
var_pop[e. Cột]. Cột
Chức năng tổng hợp. trả về phương sai dân số của các giá trị trong một nhóm
stddev[tên cột. Chuỗi]. Cột
Chức năng tổng hợp. bí danh cho stddev_samp
tiêu chuẩn [e. Cột]. Cột
Chức năng tổng hợp. bí danh cho stddev_samp
stddev_samp[tên cột. Chuỗi]. Cột
Chức năng tổng hợp. trả về độ lệch chuẩn mẫu của biểu thức trong một nhóm
stddev_samp[e. Cột]. Cột
Chức năng tổng hợp. trả về độ lệch chuẩn mẫu của biểu thức trong một nhóm
stddev_pop[tên cột. Chuỗi]. Cột
Chức năng tổng hợp. trả về độ lệch chuẩn tổng thể của biểu thức trong một nhóm
stddev_pop[e. Cột]. Cột
Chức năng tổng hợp. trả về độ lệch chuẩn tổng thể của biểu thức trong một nhóm
độ lệch [tên cột. Chuỗi]. Cột
Chức năng tổng hợp. trả về độ lệch của các giá trị trong một nhóm
độ lệch [e. Cột]. Cột
Chức năng tổng hợp. trả về độ lệch của các giá trị trong một nhóm
nhọn [cộtName. Chuỗi]. Cột
Chức năng tổng hợp. trả về độ nhọn của các giá trị trong một nhóm
gai nhọn[e. Cột]. Cột
Chức năng tổng hợp. trả về độ nhọn của các giá trị trong một nhóm
sửa [cộtName1. Chuỗi, cộtName2. Chuỗi]. Cột
Chức năng tổng hợp. trả về Hệ số tương quan Pearson cho hai cột
sửa [cột1. Cột, cột2. Cột]. Cột
Chức năng tổng hợp. trả về Hệ số tương quan Pearson cho hai cột
covar_samp[columnName1. Chuỗi, cộtName2. Chuỗi]. Cột
Chức năng tổng hợp. trả về hiệp phương sai mẫu cho hai cột
covar_samp[cột1. Cột, cột2. Cột]. Cột
Chức năng tổng hợp. trả về hiệp phương sai mẫu cho hai cột
covar_pop[columnName1. Chuỗi, cộtName2. Chuỗi]. Cột
Chức năng tổng hợp. trả về hiệp phương sai dân số cho hai cột
covar_pop[cột1. Cột, cột2. Cột]. Cột
Chức năng tổng hợp. trả về hiệp phương sai dân số cho hai cột
coll_list[columnName. Chuỗi]. Cột
Chức năng tổng hợp. trả về một danh sách các đối tượng có bản sao
coll_list[e. Cột]. Cột
Chức năng tổng hợp. trả về một danh sách các đối tượng có bản sao
coll_set[columnName. Chuỗi]. Cột
Chức năng tổng hợp. trả về một tập hợp các đối tượng đã loại bỏ các phần tử trùng lặp
coll_set[e. Cột]. Cột
Chức năng tổng hợp. trả về một tập hợp các đối tượng đã loại bỏ các phần tử trùng lặp
tổ chức. apache. tia lửa. sql. chức năng
Làm việc với Tổng hợp - RelationalGroupedDataset
agg[expr. Cột, exprs. Cột*]. Khung dữ liệu
Tính toán tổng hợp bằng cách chỉ định một loạt các cột tổng hợp. Lưu ý rằng chức năng này theo mặc định giữ lại các cột nhóm trong đầu ra của nó. Để không giữ lại các cột nhóm, hãy đặt tia lửa. sql. keepGroupColumns thành false.
______125// Mode 1
26
agg[exprs. Bản đồ[Chuỗi, Chuỗi]]. Khung dữ liệu
[Scala-specific] Tính tổng hợp bằng cách chỉ định bản đồ từ tên cột đến phương pháp tổng hợp. DataFrame kết quả cũng sẽ chứa các cột nhóm.
______127
đếm[]. Khung dữ liệu
Đếm số hàng cho mỗi nhóm. DataFrame kết quả cũng sẽ chứa các cột nhóm
tối đa [colNames. Chuỗi*]. Khung dữ liệu
Tính giá trị tối đa cho mỗi cột số cho mỗi nhóm. DataFrame kết quả cũng sẽ chứa các cột nhóm. Khi các cột được chỉ định được cung cấp, chỉ tính toán các giá trị tối đa cho chúng
tối thiểu [colNames. Chuỗi*]. Khung dữ liệu
Tính giá trị tối thiểu cho mỗi cột số cho mỗi nhóm. DataFrame kết quả cũng sẽ chứa các cột nhóm. Khi các cột được chỉ định được cung cấp, chỉ tính toán các giá trị tối thiểu cho chúng
tổng [colNames. Chuỗi*]. Khung dữ liệu
Tính tổng cho mỗi cột số cho mỗi nhóm. DataFrame kết quả cũng sẽ chứa các cột nhóm. Khi các cột được chỉ định được đưa ra, chỉ tính tổng cho chúng
trung bình[colNames. Chuỗi*]. Khung dữ liệu
Tính giá trị trung bình cho mỗi cột số cho mỗi nhóm
có nghĩa là [colNames. Chuỗi*]. Khung dữ liệu
Tính giá trị trung bình cho mỗi cột số cho mỗi nhóm. Đây là bí danh cho avg. DataFrame kết quả cũng sẽ chứa các cột nhóm. Khi các cột được chỉ định được cung cấp, chỉ tính các giá trị trung bình cho chúng
trục [cột xoay. Chuỗi]. RelationalGroupedDataset
Xoay một cột của DataFrame hiện tại và thực hiện tổng hợp đã chỉ định. Có hai phiên bản của chức năng trục. một yêu cầu người gọi chỉ định danh sách các giá trị riêng biệt để xoay vòng và một giá trị không. Cái sau ngắn gọn hơn nhưng kém hiệu quả hơn, vì Spark trước tiên cần tính toán danh sách các giá trị riêng biệt bên trong
trục [cột xoay. Chuỗi, giá trị. Thứ tự [Bất kỳ]]. RelationalGroupedDataset
Xoay một cột của DataFrame hiện tại và thực hiện tổng hợp đã chỉ định. Có hai phiên bản của chức năng trục. một yêu cầu người gọi chỉ định danh sách các giá trị riêng biệt để xoay vòng và một giá trị không. Cái sau ngắn gọn hơn nhưng kém hiệu quả hơn, vì Spark trước tiên cần tính toán danh sách các giá trị riêng biệt bên trong
tổ chức. apache. tia lửa. sql. RelationalGroupedDataset
Sử dụng // Mode 1
28 để lấy RelationalGroupedDataset
Làm việc với Bộ sưu tập - chức năng
kích thước [e. Cột]. Cột
Trả về độ dài của mảng hoặc bản đồ
mảng_chứa[cột. Cột, giá trị. Bất kỳ]. Cột
Trả về null nếu mảng là null, true nếu mảng chứa giá trị và false nếu ngược lại
sort_array[e. Cột]. Cột
Sắp xếp mảng đầu vào cho cột đã cho theo thứ tự tăng dần, theo thứ tự tự nhiên của các phần tử mảng
sort_array[e. Cột, asc. Boolean]. Cột
Sắp xếp mảng đầu vào cho cột đã cho theo thứ tự tăng dần hoặc giảm dần, theo thứ tự tự nhiên của các phần tử mảng
phát nổ [e. Cột]. Cột
Tạo một hàng mới cho mỗi phần tử trong mảng hoặc cột bản đồ đã cho. Không giống như phát nổ, nếu mảng/bản đồ là null hoặc trống thì null được tạo