Các hàm tích hợp trong Hive (Built-in Functions)

Tram Ho

1. Built-in Functions

Hive hỗ trợ các hàm có tích hợp sẵn sau đây:

Kiểu trả vềCú phápMô tả
BIGINTround(double a)Trả về giá trị làm tròn BIGINT của double
BIGINTfloor(double a)Trả về giá trị lớn nhất BIGINT bằng hoặc bé hơn double
BIGINTceil(double a)Trả về giá trị bé nhất BIGINT bằng hoặc lớn hơn double
doublerand(), rand(int seed)Trả về giá trị ngẫu nhiên thay đổi từ hàng này sang hàng khác
stringconcat(string A, string B,…)Trả về kết quả nối chuỗi các string, B sau A
stringsubstr(string A, int start)Trả về chuỗi con của A bắt đầu từ vị trí bắt đầu cho đến hết chuỗi A.
stringsubstr(string A, int start, int length)Trả về chuỗi con của A bắt đầu từ vị trí bắt đầu có độ dài length
stringupper(string A)Trả về chuỗi kết quả từ việc chuyển đổi tất cả các ký tự của A thành chữ hoa
stringucase(string A)Tương tự như trên
stringlower(string A)Trả về chuỗi kết quả từ việc chuyển đổi tất cả các ký tự của A thành chữ thường
stringlcase(string A)Tương tự như trên
stringtrim(string A)Trả về chuỗi kết quả từ việc cắt kí tự space từ cả hai đầu của A.
stringltrim(string A)Trả về chuỗi kết quả từ việc cắt kí tự space từ đầu bên tay trái của A
stringrtrim(string A)Trả về chuỗi kết quả từ việc cắt kí tự space từ đầu bên tay phải của A
stringregexp_replace(string A, string B, string C)Nó trả về chuỗi kết quả từ việc thay thế tất cả các chuỗi con trong B khớp với cú pháp biểu thức chính quy Java bằng C.
intsize(Map<K.V>)Trả về số lượng elements trong kiểu map
intsize(Array<T>)Trả về số lượng elements trong kiểu mảng
giá trị củacast(<expr> as <type>)Nó chuyển đổi kết quả của biểu thức expr thành <type> ví dụ: cast (‘1’ dưới dạng BIGINT) chuyển đổi chuỗi ‘1’ thành biểu diễn tích phân. Một NULL được trả về nếu chuyển đổi không thành công.
stringfrom_unixtime(int unixtime)Chuyển đổi số giây trong Unix time (mốc 1970-01-01 00:00:00 UTC) sang một chuỗi đại diện cho thời gian hiện tại của timezone hiện tại với dạng “1970-01-01 00:00:00”
stringto_date(string timestamp)Trả về phần ngày tháng năm của chuỗi: to_date(“1970-01-01 00:00:00”) = “1970-01-01”
intyear(string date)Trả về phần năm của date: year(“1970-01-01 00:00:00”) = 1970, year(“1970-01-01”) = 1970
intmonth(string date)Trả về phần tháng của date: month(“1970-11-01 00:00:00”) = 11, month(“1970-11-01”) = 11
intday(string date)Trả về phần ngày của date: day(“1970-11-01 00:00:00”) = 1, day(“1970-11-01”) = 1
stringget_json_object(string json_string, string path)Trích xuất đối tượng json từ chuỗi json dựa trên đường dẫn json được chỉ định và trả về chuỗi json của đối tượng json được trích xuất. Nó trả về NULL nếu chuỗi json đầu vào không hợp lệ.

Ví dụ

Câu truy vấn sau đây minh họa một vài hàm tích hợp có sắn:

round()

Khi câu truy vấn được thực thi thành công, bạn sẽ thấy response sau:

floor()

Khi câu truy vấn được thực thi thành công, bạn sẽ nhận được response sau:

ceil()

Khi thực thi thành công câu truy vấn, bạn sẽ thấy response sau:

2. Aggregate Functions

Hive hỗ trợ các hàm aggregate có sẵn sau. Việc sử dụng các hàm này cũng tương tự như các làm aggregate trong SQL

Kiểu trả vềCú phápMô tả
BiGINTcount(*), count(expr),count(*) – Trả về tổng số cột được lấy
DOUBLEsum(col), sum(DISTINCT col)Trả về tổng của các thành phần trong group hoặc tổng của các giá trị riêng biệt trong cột của group
DOUBLEavg(col), avg(DISTINCT col)Trả về giá trị trung bình của elements trong group hoặc trung bình của giá trị riêng biệt của cột trong group
DOUBLEmin(col)Trả về giá trị bé nhất của cột trong group
DOUBLEmax(col)Trả về giá trị cao nhất của cột trong group
Chia sẻ bài viết ngay

Nguồn bài viết : Viblo