Exemplos de comandos de inserção colmeia

Video: Comando Boundary - AutoCAD Inglês - Autocriativo

comandar um Hive DML para explorar é o INSERIR comando. Você tem basicamente três INSERIR variants- dois deles são mostrados na seguinte lista. Para demonstrar este novo comando DML, você vai criar uma nova tabela que irá realizar um subconjunto dos dados na FlightInfo2008 mesa.

(UMA) CREATE TABLE SE NÃO EXISTE myFlightInfo (Ano SMALLINT, DontQueryMonth TINYINT, DAYOFMONTH TINYINT, DayOfWeek TINYINT, DepTime SMALLINT, ArrTime SMALLINT, UniqueCarrier STRING, FlightNum STRING, AirTime SMALLINT, ArrDelay SMALLINT, DepDelay SMALLINT, STRING Origin, Dest STRING, Cancelado SMALLINT, CancellationCode STRING) COMENTÁRIO `Flight InfoTable`PARTITIONED POR (mês TINYINT) ROW FORMATO DELIMITEDFIELDS TERMINATED BY`, `LINES TERMINATED BY `n`(B) Armazenado como RCFILETBLPROPERTIES ( `criador` = `Bruce Brown`, `created_at` = `Mon 02 de setembro 14:24:19 EDT 2013`) -(C) INSERÇÃO OVERWRITE TABELA myflightinfoPARTITION (mês = 1) selecionar o ano, mês, DAYOFMONTH, DayOfWeek, DepTime, ArrTime, UniqueCarrier, FlightNum, AirTime, ArrDelay, DepDelay, origem, Dest, Cancelado, CancellationCodeFROM FlightInfo2008 ONDE Mês = 1-(D) DE FlightInfo2008INSERT INTO TABLE myflightinfoPARTITION (Mês = 2) selecionar o ano, mês, DAYOFMONTH, DayOfWeek, DepTime, ArrTime, UniqueCarrier, FlightNum, AirTime, ArrDelay, DepDelay, origem, Dest, Cancelado, CancellationCode ONDE Mês = 2... (3 Meses a 11 ignorada para brevidade)INSERT INTO myflightinfoPARTITION TABLE (mês = 12) SELECT ano, mês, DAYOFMONTH, DayOfWeek, DepTime, ArrTime, UniqueCarrier, FlightNum, AirTime, ArrDelay, DepDelay, origem, Dest, Cancelado, CancellationCode ONDE mês = 12(E) colmeia (flightdata) gt; MOSTRAR PARTITIONS myflightinfo-OKmonth = 1 mês = 10 meses = 11 meses = 12 ... mês = 9(F) $ Ls /home/biadmin/Hive/warehouse/flightdata.db/myflightinfomonth=1 mês = 11 meses = 2 meses 4 meses = = 6 meses 8 meses = = 10 meses 12 meses = = 3 meses 5 meses = = 7 = 9 meses(L) $ HIVE_HOME / bin / colmeia --service rcfilecat / home / BiAdmin / colmeia / armazém / flightdata.db / myflightinfo / mês = 12 / 000000_0 ... 200812 13 6 655 856 DL 163885 0 -5 PBI ATL 0200812 13 6 12511446DL 163989 9 11 IAD ATL 0200812 13 1641104 6 11101413DL -5 7 sab 0 ATL

No Passo (A), você criar esta nova tabela e especificar que o formato de arquivo será remar colunar (Passo (B)) em vez de texto. Este formato é mais compacto do que o texto e muitas vezes tem um desempenho melhor, dependendo de seus padrões de acesso. (Se você está acessando um pequeno subconjunto de colunas em vez de linhas inteiras, experimente o RCFILE formato.)

O SerDe padrão para RCFILE formato é o ColumnarSerDe. Você pode verificar este fato, executando o DESCREVER myFlightInfo ESTENDIDO comando HiveQL a partir da interface de linha de comando.

Depois de criar a tabela, você usar o INSERÇÃO OVERWRITE comando [ver Passo (C)] para inserir os dados através de um SELECIONAR declaração do FlightInfo2008 mesa. Note-se que você está dividindo seus dados usando o PARTITION palavra-chave baseada no Mês campo.

Depois que você terminar, você terá 12 partições de tabela, ou diretórios reais, sob a armazém diretório no sistema de arquivos em sua máquina virtual, correspondente aos 12 meses do ano. O particionamento pode melhorar drasticamente o desempenho de consulta se você deseja consultar dados no myFlightInfo mesa para apenas um determinado mês.

Você pode ver os resultados da PARTITION abordagem com o MOSTRAR PARTITIONS comando nos passos (E) e (F). Aviso no Passo (D) que você está usando uma variante do INSERIR comando para inserir dados em várias partições de uma só vez. Só mês 2 e 12 são mostrados por brevidade, mas meses 3 a 11 teria a mesma sintaxe.

Video: Rádio Colméia " TALENTO DA NOSSA TERRA " Comando Alessandra Cassanelli



Partições são bastante úteis para o programador Hive. No entanto, não é incomum encontrar um conjunto de dados onde particionamento poderia se tornar inviável, especialmente se várias partições são especificados [PARTITION BY (País STRING, PersonName STRING), por exemplo]. Doze partições são uma coisa - 7 bilhões de partições seria outra bem diferente!

A solução de expansão é partição bucketing. Bucketing em Hive funciona, permitindo que você especifique um número razoável de baldes, e, em seguida, o sistema tenta distribuir uniformemente os dados para o número de baldes que você especificar. [Isso poderia ser algo como PARTITION BY (...) agrupados por (BucketingColumn) INTO x BUCKETS.]

Video: Comando offset

Além disso, este recurso permite amostragem mesa - uma técnica que permite que os usuários Hive escrever consultas em uma amostra dos dados em vez de toda a tabela. HiveQL amostragem tabela pode ser muito útil para grandes análises de dados.

Você também pode usar este DE INSERÇÃO table1 INTO table2 SELECT ... formato para inserir em várias tabelas ao mesmo tempo. Você usa INSERIR ao invés de OVERWRITE aqui para mostrar a opção de inserir em vez de substituir. Hive permite que apenas acrescenta, não inserções, em tabelas, para que o INSERIR palavra-chave simplesmente instrui Hive para anexar os dados para a tabela.

Finalmente, nota na Etapa (G) que você tem que usar um serviço de comando especial Hive (rcfilecat) Para ver esta tabela em seu armazém, porque o RCFILE formato é um formato binário, ao contrário do anterior ARQUIVO DE TEXTO Exemplos de formato.

o INSERIR comando DML tem três variantes. A terceira variante é a dinâmica variante Inserções partição. No perfil, você particionar o myFlightInfo mesa 12 em segmentos, por um mês. Se você tivesse centenas de partições, essa tarefa teria se tornado bastante difícil, e ele teria de script necessário para começar o trabalho feito.

Video: 7 8 Comandos Aninhados

Em vez disso, Hive suporta uma técnica para criar dinamicamente partições com o INSERÇÃO OVERWRITE declaração. Então, se você achar que precisa para alavancar particionamento de tabela com um grande, e possivelmente variável, número de partições, veja as inserções partição dinâmica apresentam no Manual Hive DML Language.


Publicações relacionadas