Ngôn ngữ truy vấn Hive là gì: HiveQL Operaxoắn

Ngôn ngữ truy vấn Hive (HiveQL) là gì?

Ngôn ngữ truy vấn tổ ong (HiveQL) là ngôn ngữ truy vấn trong Apache Hive để xử lý và phân tích dữ liệu có cấu trúc. Nó tách người dùng khỏi sự phức tạp của lập trình Map Reduce. Nó sử dụng lại các khái niệm phổ biến từ cơ sở dữ liệu quan hệ, chẳng hạn như bảng, hàng, cột và lược đồ, để dễ học hơn. Hive cung cấp CLI để viết truy vấn Hive bằng Ngôn ngữ truy vấn Hive (HiveQL).

Hầu hết các tương tác có xu hướng diễn ra trên giao diện dòng lệnh (CLI). Nói chung, cú pháp HiveQL tương tự như cú pháp SQL cú pháp mà hầu hết các nhà phân tích dữ liệu đều quen thuộc. Hive hỗ trợ bốn định dạng tệp đó là: TEXTFILE, SEQUENCEFILE, ORC và RCFILE (Tệp ghi cột).

Hive sử dụng cơ sở dữ liệu derby để lưu trữ siêu dữ liệu của một người dùng và đối với trường hợp Siêu dữ liệu nhiều người dùng hoặc Siêu dữ liệu được chia sẻ, Hive sử dụng MYSQL.

Tích hợp HiveQL Operaxoắn

Hive cung cấp các toán tử tích hợp để triển khai các hoạt động Dữ liệu trên các bảng có trong kho Hive.

Các toán tử này được sử dụng cho các phép toán trên toán hạng và nó sẽ trả về giá trị cụ thể theo logic được áp dụng.

Dưới đây là các loại Tích hợp chính Operators trong HiveQL:

  • Quan hệ Operaxoắn
  • toán học Operaxoắn
  • logic Operaxoắn
  • Operators trên các loại phức tạp
  • Kiểu phức hợp Constructors

Quan hệ Operators trong Hive SQL

Chúng tôi sử dụng các toán tử quan hệ để so sánh mối quan hệ giữa hai toán hạng.

  • Operacác mục tiêu như bằng, Không bằng, nhỏ hơn, lớn hơn …v.v.
  • Các kiểu toán hạng đều là các kiểu số trong các Operaxoắn

Bảng sau đây sẽ cung cấp cho chúng ta thông tin chi tiết về các toán tử quan hệ và cách sử dụng chúng trong HiveQL:

Built-in Operator Mô tả Operand
X = Y TRUE

nếu biểu thức X tương đương với biểu thức Y

Nếu không thì SAI.

Phải mất tất cả các loại nguyên thủy
X != Y TRUE

nếu biểu thức X không tương đương với biểu thức Y

Nếu không thì SAI.

Phải mất tất cả các loại nguyên thủy
X < Y TRUE

nếu biểu thức X nhỏ hơn biểu thức Y

Nếu không thì SAI.

Phải mất tất cả các loại nguyên thủy
X <= Y TRUE

nếu biểu thức X nhỏ hơn hoặc bằng biểu thức Y

Nếu không thì SAI.

Phải mất tất cả các loại nguyên thủy
X>Y TRUE

nếu biểu thức X lớn hơn biểu thức Y

Nếu không thì SAI.

Phải mất tất cả các loại nguyên thủy
X>= Y TRUE

nếu biểu thức X lớn hơn hoặc bằng biểu thức Y

Nếu không thì SAI.

Phải mất tất cả các loại nguyên thủy
X LÀ KHÔNG ĐÚNG nếu biểu thức X được đánh giá là NULL, nếu không thì SAI. Phải mất tất cả các loại
X KHÔNG PHẢI LÀ NULL KHÔNG ĐÚNG

Nếu biểu thức X được đánh giá là NULL, nếu không thì là ĐÚNG.

Phải mất tất cả các loại
X THÍCH Y TRUE

Nếu mẫu chuỗi X khớp với Y thì ngược lại là SAI.

Chỉ mất chuỗi
X RIKE Y NULL nếu X hoặc Y là NULL, TRUE nếu bất kỳ chuỗi con nào của X khớp với Java biểu thức chính quy Y, nếu không thì SAI. Chỉ mất chuỗi
X REGEXP Y Tương tự với RLIKE Chỉ mất chuỗi

Số học HiveQL Operaxoắn

Chúng tôi sử dụng toán tử số học để thực hiện các phép tính số học trên toán hạng

  • Các phép toán số học như phép cộng, phép trừ, phép nhân và phép chia giữa các toán hạng chúng ta sử dụng Operaxoắn
  • Các kiểu toán hạng đều là kiểu số trong những Operaxoắn

Ví dụ mẫu:

2 + 3 cho kết quả 5.

Trong ví dụ này, '+' là toán tử và 2 và 3 là toán hạng. Giá trị trả về là 5

Bảng sau đây sẽ cung cấp cho chúng ta thông tin chi tiết về các toán tử số học trong Ngôn ngữ truy vấn Hive:

Built-in Operator Mô tả Operand
X+Y Nó sẽ trả về kết quả của việc thêm giá trị X và Y. Phải mất tất cả các loại số
X - Y Nó sẽ trả về kết quả trừ Y khỏi giá trị X. Phải mất tất cả các loại số
X * Y Nó sẽ trả về kết quả nhân các giá trị X và Y. Phải mất tất cả các loại số
X/Y Nó sẽ trả về kết quả chia Y cho X. Phải mất tất cả các loại số
X % Y Nó sẽ trả về phần còn lại do chia X cho Y. Phải mất tất cả các loại số
X & Y Nó sẽ trả về kết quả của phép toán AND bitwise của X và Y. Phải mất tất cả các loại số
X | Y Nó sẽ trả về kết quả của phép toán bit OR của X và Y. Phải mất tất cả các loại số
X ^ Y Nó sẽ trả về kết quả của phép toán XOR bit của X và Y. Phải mất tất cả các loại số
~X Nó sẽ trả về kết quả của phép toán bitwise NOT của X. Phải mất tất cả các loại số

Tổ ong QL logic Operaxoắn

Chúng tôi sử dụng các toán tử logic để thực hiện các phép toán logic trên toán hạng

  • Các phép toán logic như AND, OR, NOT giữa các toán hạng chúng ta sử dụng Operaxoắn
  • Tất cả các kiểu toán hạng đều là kiểu BOOLEAN trong các kiểu này Operaxoắn

Bảng sau đây sẽ cung cấp cho chúng ta thông tin chi tiết về các toán tử logic trong HiveSQL:

Operaxoắn Mô tả OperanDS
X VÀ Y ĐÚNG nếu cả X và Y đều ĐÚNG, nếu không thì SAI. Chỉ các kiểu Boolean
X && Y Tương tự như X AND Y nhưng ở đây chúng tôi sử dụng ký hiệu && Chỉ các kiểu Boolean
X HOẶC Y ĐÚNG nếu X hoặc Y hoặc cả hai là ĐÚNG, nếu không thì SAI. Chỉ các kiểu Boolean
X || Y Tương tự như X OR Y nhưng ở đây chúng tôi sử dụng || biểu tượng Chỉ các kiểu Boolean
KHÔNG X ĐÚNG nếu X SAI, nếu không thì SAI. Chỉ các kiểu Boolean
!X Tương tự như NOT X nhưng ở đây chúng tôi sử dụng! biểu tượng Chỉ các kiểu Boolean

Operators trên Các loại phức tạp

Bảng sau đây sẽ cung cấp cho chúng ta thông tin chi tiết về Kiểu phức hợp Operators. Đây là các toán tử sẽ cung cấp một cơ chế khác nhau để truy cập các phần tử trong các kiểu phức tạp.

Operaxoắn OperanDS Mô tả
MỘT] A là một mảng và n là một kiểu số nguyên Nó sẽ trả về phần tử thứ n trong mảng A. Phần tử đầu tiên có chỉ số là 0
M[phím] M là bản đồ và khóa có loại K Nó sẽ trả về các giá trị thuộc về khóa trong bản đồ

Các hàm tạo kiểu phức tạp

Bảng sau đây sẽ cung cấp cho chúng ta thông tin chi tiết về các Constructor kiểu phức tạp. Nó sẽ xây dựng các thể hiện trên các kiểu dữ liệu phức tạp. Đây là các kiểu dữ liệu phức tạp như các kiểu Array, Map và Struct trong Tổ ong.

Trong phần này, chúng ta sẽ xem các hoạt động được thực hiện trên các Constructor kiểu phức tạp.

Operaxoắn OperanDS Mô tả
mảng (giá trị1, giá trị2, …) Nó sẽ tạo một mảng với các phần tử đã cho như đã đề cập như val1, val2
Tạo_ liên minh (thẻ, val1, val2, …) Nó sẽ tạo ra một loại kết hợp với các giá trị được tham số thẻ đề cập đến
bản đồ (khóa1, giá trị1, khóa2, giá trị2, …) Nó sẽ tạo một bản đồ với các cặp khóa/giá trị đã cho được đề cập trong toán hạng
Được đặt tên_struct (tên1, val1, tên 2, val2, …) Nó sẽ tạo một Struct với các tên và giá trị trường đã cho được đề cập trong toán hạng
CẤU TRÚC (giá trị1, giá trị2, giá trị3, …) Tạo một Struct với các giá trị trường đã cho. Tên trường cấu trúc sẽ là col1, col2, .

Tổng kết

  • Ngôn ngữ truy vấn Hive (HiveQL) là ngôn ngữ truy vấn trong Apache Hive để xử lý và phân tích dữ liệu có cấu trúc.
  • Hive cung cấp các toán tử tích hợp để triển khai các hoạt động Dữ liệu trên các bảng có trong kho Hive.
  • Các loại tích hợp Operators trong HiveQL là:
  • Quan hệ Operaxoắn
  • toán học Operaxoắn
  • logic Operaxoắn
  • Operators trên các loại phức tạp
  • Kiểu phức hợp Constructors