Samouczek HiveQL (język zapytań Hive): wbudowane operatory

Spisie treści:

Anonim

Co to jest HiveQL (język zapytań Hive)?

Hive zapewnia interfejs wiersza polecenia do pisania zapytań programu Hive przy użyciu języka zapytań Hive (HiveQL). Ogólnie składnia języka HQL jest podobna do składni języka SQL, którą zna większość analityków danych.

Język Hive inspirowany SQL oddziela użytkownika od złożoności programowania Map Reduce. Ponownie wykorzystuje znane koncepcje ze świata relacyjnych baz danych, takie jak tabele, wiersze, kolumny i schematy, aby ułatwić naukę.

Większość interakcji odbywa się za pośrednictwem interfejsu wiersza poleceń (CLI). Hive zapewnia interfejs wiersza polecenia do pisania zapytań programu Hive przy użyciu języka zapytań Hive (Hive-QL).

Ogólnie składnia HiveQL jest podobna do składni SQL, którą zna większość analityków danych. Hive obsługuje cztery formaty plików: TEXTFILE, SEQUENCEFILE, ORC i RCFILE (Record Columnar File).

  • W przypadku magazynu metadanych pojedynczego użytkownika Hive używa bazy danych Derby i
  • W przypadku metadanych wielu użytkowników lub przypadku udostępnionych metadanych Hive używa MYSQL

Wbudowane operatory

Hive udostępnia wbudowane operatory dla operacji na danych, które mają być implementowane w tabelach znajdujących się w magazynie Hive.

Operatory te są używane do operacji matematycznych na operandach i zwracają określoną wartość zgodnie z zastosowaną logiką.

Typy operatorów wbudowanych w HIVE to:

  • Operatorzy relacyjni
  • Operatory arytmetyczne
  • Operatory logiczne
  • Operatory na typach złożonych
  • Konstruktory typu złożonego

Operatorzy relacyjni:

Używamy operatorów relacyjnych do porównań relacji między dwoma operandami.

  • Operatory takie jak równa się, nie równa się, mniejsza niż, większa niż… itd
  • Wszystkie typy operandów są typami liczbowymi w tych operatorach.

Poniższa tabela zawiera szczegółowe informacje na temat operatorów relacyjnych i ich wykorzystania.

Wbudowany operator Opis Operand
X = Y PRAWDA, jeśli wyrażenie X jest równoważne wyrażeniu Y W przeciwnym razie FAŁSZ. Przyjmuje wszystkie prymitywne typy
X! = Y PRAWDA, jeśli wyrażenie X nie jest równoważne wyrażeniu Y W przeciwnym razie FAŁSZ. Przyjmuje wszystkie prymitywne typy
X PRAWDA, jeśli wyrażenie X jest mniejsze niż wyrażenie Y W przeciwnym razie FAŁSZ. Przyjmuje wszystkie prymitywne typy
X <= Y PRAWDA, jeśli wyrażenie X jest mniejsze lub równe wyrażeniu Y W przeciwnym razie FAŁSZ. Przyjmuje wszystkie prymitywne typy
X> Y PRAWDA, jeśli wyrażenie X jest większe niż wyrażenie Y W przeciwnym razie FAŁSZ. Przyjmuje wszystkie prymitywne typy
X> = Y PRAWDA, jeśli wyrażenie X jest większe lub równe wyrażeniu Y W przeciwnym razie FAŁSZ. Przyjmuje wszystkie prymitywne typy
X JEST ZEROWE PRAWDA, jeśli wartość wyrażenia X ma wartość NULL, w przeciwnym razie FAŁSZ. Zajmuje wszystkie typy
X NIE JEST ZEROWE FALSE Jeśli wyrażenie X ma wartość NULL, w przeciwnym razie PRAWDA. Zajmuje wszystkie typy
X JAK Y TRUE Jeśli wzorzec łańcucha X pasuje do Y, w przeciwnym razie FALSE. Pobiera tylko ciągi
X RLIKE Y NULL, jeśli X lub Y ma wartość NULL, TRUE, jeśli dowolny podciąg X pasuje do wyrażenia regularnego Java Y, w przeciwnym razie FALSE. Pobiera tylko ciągi
X REGEXP Y To samo co RLIKE. Pobiera tylko ciągi

Operatory arytmetyczne :

Używamy operatorów arytmetycznych do wykonywania operacji arytmetycznych na operandach

  • Operacje arytmetyczne, takie jak dodawanie, odejmowanie, mnożenie i dzielenie między operandami, używamy tych operatorów.
  • Wszystkie typy operandów są typami liczbowymi w tych operatorach

Przykładowy przykład:

2 + 3 daje wynik 5.

W tym przykładzie „+” to operator, a 2 i 3 to operandy. Wartość zwracana to 5

Poniższa tabela zawiera szczegółowe informacje na temat operatorów arytmetycznych

Wbudowany operator Opis Operand
X + Y Zwróci wynik dodania wartości X i Y. Przyjmuje wszystkie typy liczb
X - Y Zwróci wynik odejmowania Y od wartości X. Przyjmuje wszystkie typy liczb
X * Y Zwróci wynik pomnożenia wartości X i Y. Przyjmuje wszystkie typy liczb
X / Y Zwróci wynik dzielenia Y od X. Przyjmuje wszystkie typy liczb
X% Y Zwróci resztę wynikającą z podzielenia X przez Y. Przyjmuje wszystkie typy liczb
X i Y Zwróci wynik bitowego AND z X i Y. Przyjmuje wszystkie typy liczb
X | Y Zwróci wynik bitowego OR z X i Y. Przyjmuje wszystkie typy liczb
X Y Zwróci wynik bitowej XOR X i Y. Przyjmuje wszystkie typy liczb
~ X Zwróci wynik bitowego NIE z X. Przyjmuje wszystkie typy liczb

Operatory logiczne:

Używamy operatorów logicznych do wykonywania operacji logicznych na operandach

  • Operacje logiczne, takie jak AND, OR, NOT pomiędzy operandami, używamy tych operatorów.
  • Wszystkie typy operandów są typu BOOLEAN w tych operatorach

Poniższa tabela zawiera szczegółowe informacje na temat operatorów logicznych

Operatorzy Opis Operandy
X I Y PRAWDA, jeśli X i Y mają wartość PRAWDA, w przeciwnym razie FAŁSZ. Tylko typy logiczne
X && Y To samo co X AND Y, ale tutaj używamy symbolu && Tylko typy logiczne
X LUB Y PRAWDA, jeśli X lub Y lub oba mają wartość PRAWDA, w przeciwnym razie FAŁSZ. Tylko typy logiczne
X || Y To samo co X OR Y, ale tutaj używamy || symbol Tylko typy logiczne
NIE X PRAWDA, jeśli X ma wartość FAŁSZ, w przeciwnym razie FAŁSZ. Tylko typy logiczne
! X To samo co NOT X, ale tutaj używamy! symbol Tylko typy logiczne

Operatory na typach złożonych:

Poniższa tabela zawiera szczegółowe informacje na temat operatorów typu złożonego. Są to operatory, które zapewnią inny mechanizm dostępu do elementów w typach złożonych.

Operatorzy Operandy Opis
Na] A jest tablicą, a n jest typem całkowitym Zwróci n-ty element tablicy A. Pierwszy element ma indeks 0
M [klucz] M to Mapa , a klucz ma typ K. Zwróci wartości należące do klucza w mapie

Konstruktorzy typu złożonego:

Poniższa tabela zawiera szczegółowe informacje na temat konstruktorów typu złożonego. Konstruuje instancje na złożonych typach danych. Są to złożone typy danych, takie jak Array, Map i Struct w Hive.

W tej sekcji zobaczymy operacje wykonywane na konstruktorach typu złożonego.

Operatorzy Operandy Opis
szyk (wart1, wart2,…) Utworzy tablicę z podanymi elementami, jak wspomniano, takimi jak val1, val2
Create_ union (tag, wart1, wart2,…) Utworzy typ unii z wartościami, o których wspomina parametr znacznika
mapa (klucz1, wartość1, klucz2, wartość2,…) Stworzy mapę z podanymi parami klucz / wartość wymienionymi w operandach
Named_struct (nazwa1, wart1, nazwa2, wart2,…) Utworzy strukturę z podanymi nazwami pól i wartościami wymienionymi w operandach
STRUKTURA (wart1, wart2, wart3,…) Tworzy Struct z podanymi wartościami pól. Nazwy pól struktur będą miały postać kol1, kol2,.

Podsumowanie:

Hive udostępnia wbudowane funkcje i operatory służące do manipulowania danymi przechowywanymi w magazynie Hive. Hive jest podobny do języka SQL, który obsługuje wszystkie typy operacji na danych oraz zapytania dotyczące tabel i baz danych.