Importar dados:
1 、
carrega o caminho local de dados '/root/tes.txt' na tabela test.usr;
将本地的数据导入到hive中
2. Importar dados do cluster hdfs
carregar dados no caminho ' hdfs: // node01: 9000 / user / tes.txt ' na tabela test.te; o comando LOAD DATA pode ser dividido em LOAD DATA LOCAL INPATH e LOAD DATA INPATH. A diferença entre os dois é que LOCAL importa arquivos locais sem adicionar LOCAL é arquivos HDFS - o equivalente a carregar diretamente os arquivos de acordo.
3. insira em --- tabelas internas e externas, não adequadas para partição
4 、
da tabela1 insira em (sobrescrever) tabelas2 selecione id, nome
Tabela de partição
Partição Hive (dividida em diferentes diretórios de arquivo para armazenamento)
1. Partição estática:
O campo da partição correspondente deve ser especificado na definição da tabela - o campo da partição não deve duplicar o campo na tabela
uma instrução de criação de tabela de partição única:
crie a tabela day_table (id int, sequência de conteúdo) particionada por (dt int);
Carregar dados: carregar o caminho local de dados '/root/tes.txt' na partição test.usr da tabela (idade = 10);
Tabela de partição única, partição por dia, existem três colunas de id, content, dt na estrutura da tabela.
Use dt como a pasta para distinguir
Ao particionar a espessura e a resistência, você deve definir o ano, mês, dia, hora, minuto e segundo correspondentes de acordo com as necessidades da empresa - para reduzir o conteúdo em cada partição e melhorar a eficiência do cálculo
b) Instrução de criação de tabela de partição dupla:
criar hora da tabela (id int, sequência de conteúdo) particionada por (dt int, hour int);
A tabela de partição dupla, particionada por dia e hora, adicionou duas colunas dt e hora na estrutura da tabela.
Primeiro use dt como pasta e divida-o pela subpasta de horas
Adicionar partição
alterar hora da tabela e adicionar partição (dt = 10, hora = 40);
tabela de alerta tablename add partiton (dt = 20, hour = 40)
Em outras palavras, ao adicionar uma partição, você não pode adicioná-la diretamente, mas é necessário incluir a partição original para concluir a classificação correspondente.
Excluir partição
alterar tabela partição de descarte de nome de tabela (sexo = 'garoto')
tabela de alerta nome da tabela soltar partiton (dt = 20, hora = 40)
Nota: Ao excluir uma partição, todas as partições existentes serão excluídas
2. Partição dinâmica:
Maneiras de modificar permissões:
1 、 conf / hive-site.xml
2. Use o conjunto dentro da colmeia para definir adequadamente
3. Configure hive --conf hive.exec.dynamic.partiton = true quando o hive iniciar
Como modificar permissões
1. Modifique permissões
configure hive.exec.dynamic.partiton = true // Ative a partição dinâmica
2. Modifique o estado padrão
configure hive.exec.dynamic.partiton.mode = nostrict // O padrão estrito. Existe pelo menos uma partição estática
Crie uma tabela de partição:
criar tabela psn22 (id int, nome string, gosta de array <string>, mapa de endereço <string, string>) particionado por (idade int, sexo string) FORMATOS DE LINHA CAMPOS DELIMITADOS TERMINADOS POR ',' ITENS DE COLETA TERMINADOS POR ',' MAP CHAVES TERMINADAS POR ':' LINHAS TERMINADAS POR '\ t'
Gravar dados
from psn21 // Uma tabela e dados existentes devem ser inseridos sobrescrever a tabela pas22 partiton (idade, sexo) selecione * distribuir por idade, sexo
Mesa de barril:
Dados de teste
1 quarto, 11
Abra o balde
definir hive.enforce.bucketing = true
Crie um bucket
crie a tabela psnbucket1 (id int, name string, age int) agrupada por (age) em 4 campos delimitados por formato de linha de baldes terminados por ','
Carregar dados
inserir na tabela psnbucket selecione id, nome, idade a partir de psn31
Amostragem
selecione * no exemplo de tabela bucket_table (intervalo 1 de 4 por colimes)
Função personalizada
UDF:一对一
1、继承UDF
2、重写evaluate
(实现传入的参数,并且封装了很多的方法)
classe pública AddPrefix estende UDF {/ **
- Aqui implementamos a adição de informações de prefixo personalizado a qualquer entrada * / public String assessment (String str) {return "HIVE UDF Prefix:" + str;}}
UDAF:多对一
UDTF:一对多
1、创建udf自定义函数
2、达成jar包并上传到linux集群
3、将集群中的jar包上传到hive中:add jar /opt/software/jars/UDF.jar;
4、创建属于我自己的函数
crie funções temporárias bws como "com.hpe.TestUdf.TestUdf"; 5. Use a função para executar
No entanto, ao criar uma função personalizada, geralmente é criada uma função temporária e está fora de questão quando é iniciada.Como você cria uma função permanente?
Registrar função personalizada de seção permanente
add jar的方式只是导入临时的jar文件,所以不能创建永久的自定义函数,想要添加永久的自定义函数需要在配置文件中对jar的引入进行修改
在hive-site.xml文件中添加
<property> <name> hive.aux.jars.path </name> <value> arquivo: ///opt/module/hive/lib/app_logs_hive.jar </value> </property>
注意:value中的值为你的udf.jar上传到linux的指定路径下,若是多个jar包,以,(逗号)进行分割
Aprenda todos juntos, preste atenção à conta pública WeChat da Java Architects Alliance e responda a palavras-chave em segundo plano para obter mais itens secos da tecnologia de arquitetura Java classificados pelo líder da pilha.