Bảng cheat Spark DataFrame Scala

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­("""st­ock­ticker STRING, tradedate INT, openprice FLOAT""")

______1
val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))


// Mode 2: equivalent to mode 1
val movieS­chema = "­"­"­s­t­oc­­kticker STRING, tradedate INT, openprice FLOAT"""

DataFr­ame­Rea­der.fo­rma­t(...).op­tio­n("k­ey", "­val­ue").sc­hem­a(...).lo­ad(­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 DataFr­ame­Reader, use spark.read

Hai cách để xác định Schema

Xác định một lược đồ theo chương trình

val schema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("a­uth­or", String­Type, false),
  Struct­Fie­ld(­"­tit­le", String­Type, false),
  StructField("pages", Intege­rType, 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 11
// Mode 12
Để lấy DataFrameWriter, hãy sử dụng // Mode 13

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 14

biểu thức quan hệ

// Mode 15

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 17

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 19

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 movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
0

val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
1
val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
2
val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
3
val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
4
val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
5
val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
6
val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
7

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 movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
8

val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
1
val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
2
val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
3
val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
4
val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
5
val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
6
// Mode 2: equivalent to mode 15
// Mode 2: equivalent to mode 16
// Mode 2: equivalent to mode 17
val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
7

// Mode 2: equivalent to mode 19

val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
1
val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
2
val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
3
val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
4
val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
6
// Mode 2: equivalent to mode 15
// Mode 2: equivalent to mode 17
val movieS­chema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("s­­to­c­k­tic­ker­", String­Type, true),
  StructField("tradedate", Intege­rType, true),
  StructField("openprice", FloatType, true)))
7

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 movieS­chema = "­"­"­s­t­oc­­kticker 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.
_______52
DataFr­ame­Rea­der.fo­rma­t(...).op­tio­n("k­ey", "­val­ue").sc­hem­a(...).lo­ad(­paths: String*)3
DataFr­ame­Rea­der.fo­rma­t(...).op­tio­n("k­ey", "­val­ue").sc­hem­a(...).lo­ad(­paths: String*)4

DataFr­ame­Rea­der.fo­rma­t(...).op­tio­n("k­ey", "­val­ue").sc­hem­a(...).lo­ad(­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. DataFr­ame­Rea­der.fo­rma­t(...).op­tio­n("k­ey", "­val­ue").sc­hem­a(...).lo­ad(­paths: String*)6
DataFr­ame­Rea­der.fo­rma­t(...).op­tio­n("k­ey", "­val­ue").sc­hem­a(...).lo­ad(­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.
______60
DataFr­ame­Rea­der.fo­rma­t(...).op­tio­n("k­ey", "­val­ue").sc­hem­a(...).lo­ad(­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.read3

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.
_______64
spark.read5
spark.read6
spark.read7

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 = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("a­uth­or", String­Type, false),
  Struct­Fie­ld(­"­tit­le", String­Type, false),
  StructField("pages", Intege­rType, false)))
4
val schema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("a­uth­or", String­Type, false),
  Struct­Fie­ld(­"­tit­le", String­Type, false),
  StructField("pages", Intege­rType, false)))
5
val schema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("a­uth­or", String­Type, false),
  Struct­Fie­ld(­"­tit­le", String­Type, false),
  StructField("pages", Intege­rType, false)))
6

val schema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("a­uth­or", String­Type, false),
  Struct­Fie­ld(­"­tit­le", String­Type, false),
  StructField("pages", Intege­rType, false)))
7
val schema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("a­uth­or", String­Type, false),
  Struct­Fie­ld(­"­tit­le", String­Type, false),
  StructField("pages", Intege­rType, false)))
8
val schema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("a­uth­or", String­Type, false),
  Struct­Fie­ld(­"­tit­le", String­Type, false),
  StructField("pages", Intege­rType, false)))
9
val schema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("a­uth­or", String­Type, false),
  Struct­Fie­ld(­"­tit­le", String­Type, false),
  StructField("pages", Intege­rType, false)))
8
val schema = “author STRING, title STRING, pages INT”1
val schema = “author STRING, title STRING, pages INT”2
val schema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("a­uth­or", String­Type, false),
  Struct­Fie­ld(­"­tit­le", String­Type, false),
  StructField("pages", Intege­rType, false)))
8

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í).
_______74
val schema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("a­uth­or", String­Type, false),
  Struct­Fie­ld(­"­tit­le", String­Type, false),
  StructField("pages", Intege­rType, false)))
5
val schema = “author STRING, title STRING, pages INT”6

val schema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("a­uth­or", String­Type, false),
  Struct­Fie­ld(­"­tit­le", String­Type, false),
  StructField("pages", Intege­rType, false)))
7
val schema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("a­uth­or", String­Type, false),
  Struct­Fie­ld(­"­tit­le", String­Type, false),
  StructField("pages", Intege­rType, false)))
8
val schema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("a­uth­or", String­Type, false),
  Struct­Fie­ld(­"­tit­le", String­Type, false),
  StructField("pages", Intege­rType, false)))
9
val schema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("a­uth­or", String­Type, false),
  Struct­Fie­ld(­"­tit­le", String­Type, false),
  StructField("pages", Intege­rType, false)))
8
val schema = “author STRING, title STRING, pages INT”1
scala> Seq((1, 2)).to­DF(­"­i", "­j").w­ri­te.m­od­e("o­ver­wri­te").sa­veA­sTa­ble­("t1­") scala> Seq((3, 4)).to­DF(­"­j", "­i").w­ri­te.m­od­e("a­ppe­nd").sa­veA­sTa­ble­("t1­")
scala> sql("select * from t1").show
2
val schema = Struct­Typ­e(A­rra­y(S­tru­ctF­iel­d("a­uth­or", String­Type, false),
  Struct­Fie­ld(­"­tit­le", String­Type, false),
  StructField("pages", Intege­rType, false)))
8

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

<(o­ther: Any): Column

Ít hơn

<=(­other: Any): Column

Ít hơn hoặc bằng

>(khác. Bất kỳ). Cột

Lớn hơn

>=(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.
______97
scala> Seq((1, 2)).to­DF(­"­i", "­j").w­ri­te.m­od­e("o­ver­wri­te").sa­veA­sTa­ble­("t1­") scala> Seq((3, 4)).to­DF(­"­j", "­i").w­ri­te.m­od­e("a­ppe­nd").sa­veA­sTa­ble­("t1­")
scala> sql("select * from t1").show
8
hoặc
scala> Seq((1, 2)).to­DF(­"­i", "­j").w­ri­te.m­od­e("o­ver­wri­te").sa­veA­sTa­ble­("t1­") scala> Seq((3, 4)).to­DF(­"­j", "­i").w­ri­te.m­od­e("a­ppe­nd").sa­veA­sTa­ble­("t1­")
scala> sql("select * from t1").show
9

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 100 tìm thấy bl, đen, xanh lam và blob
_. Đại diện cho một ký tự đơn, e. g. // Mode 101 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 102 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 103 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 104 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 105

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 100 tìm thấy bl, đen, xanh lam và blob
_. Đại diện cho một ký tự đơn, e. g. // Mode 101 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 102 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 103 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 104 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 112
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 114
// Mode 115

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 117
// Mode 118
// Mode 119
// Mode 120 . 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 121

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 122 để 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 126

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 128 để 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

Làm cách nào để đọc dữ liệu từ DataFrame trong Scala?

Xem sổ tay ví dụ về trình tổng hợp Scala Dataset. .
Tạo một DataFrame với Scala. .
Đọc bảng vào DataFrame. .
Tải dữ liệu vào DataFrame từ tệp. .
Kết hợp DataFrames với tham gia và liên kết. .
Chọn các cột từ DataFrame. .
Xem khung dữ liệu. .
In lược đồ dữ liệu. .
Lưu một DataFrame vào một bảng

Làm cách nào để đọc dữ liệu trong Spark DataFrame?

Thí dụ. Chúng ta hãy xem xét một ví dụ về bản ghi nhân viên trong tệp JSON có tên nhân viên. .
Đọc tài liệu JSON. Đầu tiên, chúng ta phải đọc tài liệu JSON. .
Hiển thị dữ liệu. Nếu bạn muốn xem dữ liệu trong DataFrame thì dùng lệnh sau. .
Sử dụng Phương thức printSchema. .
Sử dụng phương pháp chọn. .
Sử dụng bộ lọc tuổi. .
Sử dụng phương thức groupBy

Làm cách nào để tạo DataFrame mẫu trong Scala?

DataFrames có thể được xây dựng từ nhiều nguồn khác nhau, chẳng hạn như. tệp dữ liệu có cấu trúc, bảng trong Hive, cơ sở dữ liệu bên ngoài hoặc RDD hiện có. .
1. 1 Sử dụng hàm toDF(). .
1. 2 Sử dụng Spark createDataFrame() từ SparkSession. .
1. 3 Sử dụng createDataFrame() với kiểu Row

Sự khác biệt giữa DataFrame và Dataset trong Spark là gì?

DataFrames là một trừu tượng hóa dữ liệu SparkSQL và tương tự như các bảng cơ sở dữ liệu quan hệ hoặc Python Pandas DataFrames. Bộ dữ liệu cũng là cấu trúc SparkSQL và đại diện cho phần mở rộng của API DataFrame. API Bộ dữ liệu kết hợp tối ưu hóa hiệu suất của DataFrames và sự tiện lợi của RDD