Apache Hive

Origem: Wikipedia, a enciclopedia livre.
Apache Hive
Apache Hive
Modelo do desenvolvimento Software Livre
Sistema operacional Multiplataforma
Genero(s) Data warehouse
Licenca Apache License 2.0
Estado do desenvolvimento Ativo
Pagina oficial hive .apache .org

Apache Hive e um software de Data Warehouse desenvolvido em cima do Apache Hadoop para consulta e analise de dados. [ 1 ] O Hive oferece uma interface semelhante ao SQL para consulta de dados em diferentes bancos de dados e sistemas de arquivos integrados ao Hadoop. Comandos tradicionais de SQL sao implementados na API Java para serem executados em dados distribuidos. O Hive fornece as abstracoes necessarias para integrar comandos do tipo SQL(em uma linguagem chamada HiveQL ). Como a maioria das aplicacoes de Data Warehousing trabalham com consultas baseadas em linguagens SQL, o Apache Hive facilita a portabilidade dessas aplicacoes para o Hadoop. [ 2 ] Embora tenha sido inicialmente desenvolvido pelo Facebook , atualmente e tambem usado e desenvolvido por outras organizacoes, como a Netflix e a Amazon . [ 3 ] [ 4 ]

Comparacao com Bancos de Dados tradicionais [ editar | editar codigo-fonte ]

Embora A linguagem HiveQL seja um dialeto de SQL, existem muitas diferencas de estrutura e funcionamento entre o Hive e os bancos de dados relacionais . As diferencas se devem, em grande parte, ao fato de que o Hive foi desenvolvido para uso com o ecossistema Hadoop , e portanto precisa obedecer as restricoes do Hadoop e do MapReduce .

Em bancos de dados tradicionais, um esquema de banco de dados e utilizado. Em tais bancos, o esquema e aplicado quando os dados sao carregados, assegurando que os dados inseridos seguem os formatos especificados pelas definicoes de tabela. O Apache Hive, por outro lado, nao verifica a compatibilidade dos dados com o esquema no momento do registro. Ao inves disso, sao feitas checagens quando os dados sao lidos. [ 5 ] Cada uma dessas abordagens tem suas vantagens e desvantagens. Conferir os dados com o esquema no momento do registro exige mais processamento, fazendo com que os bancos relacionais demorem mais tempo para o carregamento de dados. No entanto, checagens de qualidade executadas no momento do registro asseguram que os dados nao estao corrompidos. A deteccao precoce de dados corruptos permite um manejo de excecoes mais eficiente, e consultas subsequentes serao mais rapidas. O Hive, por outro lado, permite o registro dinamico de dados, assegurando um carregamento muito mais rapido, mas com a desvantagem de consultas mais lentas. Hive leva vantagem se o esquema nao estiver disponivel no momento do registro, sendo gerado posteriormente. [ 5 ]

Transacoes sao operacoes muito importantes em bancos de dados. Como em qualquer sistema gerenciador de banco de dados (SGBD) , O Hive permite todas as quatro operacoes basicas de transacao ( ACID ): Atomicidade , Consistencia , Isolamento e and Durabilidade . As transacoes foram introduzida no Hive na versao 0.13, mas eram limitadas a nivel de particao. [ 6 ] Nas versoes mais recentes do Hive 0.14 essas funcoes foram incorporadas de forma completa, mantendo as propriedades ACID . As versoes subsequentes fornecem transacoes de linha como INSERT, DELETE and UPDATE . [ 7 ] Habilitar transacoes de INSERT, UPDATE, DELETE requer a configuracao adequada de propriedades como hive.support.concurrency , hive.enforce.bucketing , and hive.exec.dynamic.partition.mode . [ 8 ]

Seguranca [ editar | editar codigo-fonte ]

A versao 0.7.0 adicionou integracao com a seguranca do Hadoop. Hadoop passou a usar o protocolo Kerberos para maior seguranca de autorizacoes. Kerberos permite autenticacao mutua entre cliente e servidor. Nesse sistema, o pedido de autorizacao e enviado junto a requisicao em si. Versoes anteriores do Hadoop tinham alguns problemas de seguranca, como por exemplo a possibilidade de falsificar nomes de usuario configurando a propriedade hadoop.job.ugi e tambem o fato das operacoes MapReduce serem executadas pelo mesmo nome de usuario: hadoop ou mapred. A integracao do Hive 0.7.0 com a seguranca Hadoop, esses problemas foram resolvidos. Permissoes para novos arquivos criados sao reguladas pelo HDFS . O model de autorizacao HDFS tem tres entidades( user , group e other ) com tres possiveis permissoes( read , write e execute ).

Ver tambem [ editar | editar codigo-fonte ]

Referencias

  1. Venner, Jason (2009). Pro Hadoop . [S.l.]: Apress . ISBN   978-1-4302-1942-2  
  2. Programming Hive [Book] . [S.l.: s.n.]  
  3. OSCON Data 2011, Adrian Cockcroft, "Data Flow at Netflix" no YouTube
  4. Amazon Elastic MapReduce Developer Guide
  5. a b White, Tom (2010). Hadoop: The Definitive Guide . [S.l.]: O'Reilly Media . ISBN   978-1-4493-8973-4 . (pede subscricao ( ajuda ))  
  6. ≪Introduction to Hive transactions≫ . datametica.com . Consultado em 12 de setembro de 2016  
  7. ≪Hive Transactions - Apache Hive - Apache Software Foundation≫ . cwiki.apache.org . Consultado em 12 de setembro de 2016  
  8. ≪Configuration Properties - Apache Hive - Apache Software Foundation≫ . cwiki.apache.org . Consultado em 12 de setembro de 2016  

Ligacoes externas [ editar | editar codigo-fonte ]