Maison base de données tutoriel mysql ApacheHive一点一点进步(2)–HIVEJDBC

ApacheHive一点一点进步(2)–HIVEJDBC

Jun 07, 2016 pm 04:29 PM
hive 进步

Hive提供了多种方式进行数据的访问。其中对 java 的支持是最好的,而且是其最原生的支持。传说中的JDBC。哈哈! 在 hive 安装目录下的lib目录中有 hive - jdbc -0.8.1.jar 。以0.8版本的为例来介绍。 当然了,也别忘了要通过hive的server方式将hive启动起来

Hive提供了多种方式进行数据的访问。其中对java的支持是最好的,而且是其最原生的支持。传说中的JDBC。哈哈!

hive安装目录下的lib目录中有hive-jdbc-0.8.1.jar 。以0.8版本的为例来介绍。

当然了,也别忘了要通过hive的server方式将hive启动起来。命令就不在这里介绍了。

以下是官网提供的一段示例,使用起来比较简单。client端支持的语法在这里都是支持的。

而且可以通过这个进行环境变量设置,这个设置并不会影响server端,只在本次会话中生效,所以不用担心任务间影响。

Java

import java.sql.SQLException;import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;import java.sql.DriverManager; public class HiveJdbcClient {  private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";   /** * @param args * @throws SQLException   */  public static void main(String[] args) throws SQLException {      try {      Class.forName(driverName);    } catch (ClassNotFoundException e) {      // TODO Auto-generated catch block      e.printStackTrace();      System.exit(1);    }    Connection con = DriverManager.getConnection("jdbc:hive://localhost:10000/default", "", "");    Statement stmt = con.createStatement();    String tableName = "testHiveDriverTable";    stmt.executeQuery("drop table " + tableName);    ResultSet res = stmt.executeQuery("create table " + tableName + " (key int, value string)");    // show tables    String sql = "show tables '" + tableName + "'";    System.out.println("Running: " + sql);    res = stmt.executeQuery(sql);    if (res.next()) {      System.out.println(res.getString(1));    }    // describe table    sql = "describe " + tableName;    System.out.println("Running: " + sql);    res = stmt.executeQuery(sql);    while (res.next()) {      System.out.println(res.getString(1) + "\t" + res.getString(2));    }     // load data into table    // NOTE: filepath has to be local to the hive server    // NOTE: /tmp/a.txt is a ctrl-A separated file with two fields per line    String filepath = "/tmp/a.txt";    sql = "load data local inpath '" + filepath + "' into table " + tableName;    System.out.println("Running: " + sql);    res = stmt.executeQuery(sql);     // select * query    sql = "select * from " + tableName;    System.out.println("Running: " + sql);    res = stmt.executeQuery(sql);    while (res.next()) {      System.out.println(String.valueOf(res.getInt(1)) + "\t" + res.getString(2));    }     // regular hive query    sql = "select count(1) from " + tableName;    System.out.println("Running: " + sql);    res = stmt.executeQuery(sql);    while (res.next()) {      System.out.println(res.getString(1));    }  }}
Copier après la connexion

Python

#!/usr/bin/env python import sys from hive import ThriftHivefrom hive.ttypes import HiveServerExceptionfrom thrift import Thriftfrom thrift.transport import TSocketfrom thrift.transport import TTransportfrom thrift.protocol import TBinaryProtocol try:    transport = TSocket.TSocket('localhost', 10000)    transport = TTransport.TBufferedTransport(transport)    protocol = TBinaryProtocol.TBinaryProtocol(transport)     client = ThriftHive.Client(protocol)    transport.open()     client.execute("CREATE TABLE r(a STRING, b INT, c DOUBLE)")    client.execute("LOAD TABLE LOCAL INPATH '/path' INTO TABLE r")    client.execute("SELECT * FROM r")    while (1):      row = client.fetchOne()      if (row == None):        break      print row    client.execute("SELECT * FROM r")    print client.fetchAll()     transport.close() except Thrift.TException, tx:    print '%s' % (tx.message)
Copier après la connexion

PHP

<?php // set THRIFT_ROOT to php directory of the hive distribution$GLOBALS&#91;'THRIFT_ROOT'&#93; = '/lib/php/';// load the required files for connecting to Hiverequire_once $GLOBALS&#91;'THRIFT_ROOT'&#93; . 'packages/hive_service/ThriftHive.php';require_once $GLOBALS&#91;'THRIFT_ROOT'&#93; . 'transport/TSocket.php';require_once $GLOBALS&#91;'THRIFT_ROOT'&#93; . 'protocol/TBinaryProtocol.php';// Set up the transport/protocol/client$transport = new TSocket&#40;'localhost', 10000&#41;;$protocol = new TBinaryProtocol&#40;$transport&#41;;$client = new ThriftHiveClient&#40;$protocol&#41;;$transport->open(); // run queries, metadata calls etc$client->execute('SELECT * from src');var_dump($client->fetchAll());$transport->close();
Copier après la connexion
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Utilisez le langage Hive in Go pour mettre en œuvre un entrepôt de données efficace Utilisez le langage Hive in Go pour mettre en œuvre un entrepôt de données efficace Jun 15, 2023 pm 08:52 PM

Ces dernières années, les entrepôts de données sont devenus partie intégrante de la gestion des données d'entreprise. L'utilisation directe de la base de données pour l'analyse des données peut répondre à des besoins de requêtes simples, mais lorsque nous devons effectuer une analyse de données à grande échelle, une seule base de données ne peut plus répondre aux besoins. À l'heure actuelle, nous devons utiliser un entrepôt de données pour traiter des données massives. . Hive est l'un des composants open source les plus populaires dans le domaine des entrepôts de données. Il peut intégrer le moteur informatique distribué Hadoop et les requêtes SQL et prendre en charge le traitement parallèle de données massives. En même temps, en langage Go, utilisez

Premiers pas avec PHP : PHP et Hive Premiers pas avec PHP : PHP et Hive May 20, 2023 am 08:33 AM

PHP est un langage de programmation côté serveur largement utilisé dans presque tous les secteurs. Dans cet article, nous explorerons le rôle particulier de PHP dans le traitement du Big Data. Dans certaines circonstances, PHP peut collaborer avec ApacheHive pour réaliser un traitement et une analyse des données en temps réel. Tout d’abord, présentons Hive. Hive est une solution d'entrepôt de données basée sur Hadoop. Il peut mapper des données structurées dans des requêtes SQL et exécuter les requêtes en tant que tâches MapReduce.

PHP implémente la plateforme open source d'analyse Big Data Hive PHP implémente la plateforme open source d'analyse Big Data Hive Jun 18, 2023 pm 02:47 PM

À mesure que le traitement des données prend de plus en plus d’importance, l’analyse du Big Data devient de plus en plus courante. Cependant, de nombreuses entreprises ne souhaitent pas dépenser beaucoup d’argent dans une plateforme d’analyse commerciale. Les solutions open source offrent à ces entreprises une option viable. Dans cet article, nous verrons comment implémenter la plateforme open source d'analyse Big Data Hive à l'aide de PHP. Hive est un système d'entrepôt de données basé sur Hadoop qui peut interroger et gérer des ensembles de données à grande échelle sur Hadoop via SQL. Il utilise le langage HiveQL de type SQL pour interroger

Microsoft publie un correctif pour l'erreur Behavior:Win32/Hive.ZY dans Windows Defender Microsoft publie un correctif pour l'erreur Behavior:Win32/Hive.ZY dans Windows Defender Apr 28, 2023 pm 04:01 PM

Un responsable de Microsoft a confirmé de nombreuses informations selon lesquelles Google Chrome, ChromiumEdge, Discord et plusieurs autres applications étaient signalées comme « Behavior:Win32/Hive.ZY » par le logiciel antivirus intégré de Microsoft « WindowsDefender ». Le géant de la technologie a confirmé dans un communiqué qu'il travaillait sur un correctif qui sera déployé pour tout le monde dans les prochaines heures. Alors, qu’est-ce que « Behavior:Win32/Hive.ZY » exactement ? Selon un document publié sur le portail de sécurité de Microsoft, tout fichier marqué « Behavior:Win32/Hive.ZY » est

Microsoft Exchange Server touché par le ransomware « windows.exe » de Hive Microsoft Exchange Server touché par le ransomware « windows.exe » de Hive Apr 16, 2023 pm 01:28 PM

Bien que maintenir les logiciels à jour et télécharger uniquement des fichiers à partir de sources fiables soient des pratiques standard en matière de cybersécurité, compte tenu de la récente augmentation des attaques de logiciels malveillants, il est clair qu'une éducation plus poussée est nécessaire dans ce domaine. À cette fin, l'équipe médico-légale de Varonis a fourni des conseils sur la manière dont les attaquants utilisant le ransomware Hive ciblent Microsoft Exchange Server dans leur dernière série d'attaques. Pour ceux qui ne le savent pas, Hive suit un modèle de ransomware-as-a-service. Bien que Microsoft cible E en 2021 pour les vulnérabilités connues,

Tutoriel d'installation et de configuration de Centos7 Hive. Tutoriel d'installation et de configuration de Centos7 Hive. Feb 19, 2024 pm 02:21 PM

Lors de l'installation et de la configuration de Hive sur CentOS7, vous pouvez suivre ces étapes : Assurez-vous que Java est installé : Tout d'abord, assurez-vous que Java est installé sur CentOS7. Vous pouvez vérifier si Java est installé à l'aide de la commande suivante : java-version Si Java n'est pas installé, veuillez installer la version Java appropriée en fonction de vos besoins. Téléchargez Hive : Visitez le site officiel d'ApacheHive () et téléchargez la dernière version stable de Hive. Décompressez le package compressé Hive : utilisez la commande suivante pour décompresser le package compressé Hive : tarxvfzhive-x.x.x.tar.gz Cela décompressera Hive dans le répertoire actuel. Configurer les variables d'environnement : ouvrir le terminal,

Comment corriger le comportement de Windows Defender : alerte Win32/Hive.ZY Comment corriger le comportement de Windows Defender : alerte Win32/Hive.ZY May 06, 2023 am 08:04 AM

De nombreux utilisateurs de Windows 11 et 10 sont troublés par les notifications d'avertissement de Windows Defender indiquant que la menace « Comportement : Win32/Hive.ZY » a été détectée. Selon les rapports, cet avertissement ou alerte Windows Defender est déclenché lorsque les utilisateurs tentent d'ouvrir certaines applications couramment utilisées telles que Google Chrome ou Chromium Edge, Whatsapp, Discord et Spotify. Même si vous avez bloqué cette menace sur votre PC, elle apparaîtra avec un message MicrosoftDefenderAntivi la prochaine fois que vous ouvrirez cette application concernée.

Les progrès de Vue3 par rapport à Vue2 : une gestion des états plus puissante Les progrès de Vue3 par rapport à Vue2 : une gestion des états plus puissante Jul 07, 2023 pm 07:45 PM

Les progrès de Vue3 par rapport à Vue2 : une gestion d'état plus puissante Avec le développement continu de la technologie de développement front-end, l'importance de la gestion d'état dans les grandes applications est devenue de plus en plus importante. En tant que framework frontal populaire, Vue offre aux développeurs une expérience de développement pratique grâce à sa liaison de données réactive et son style de programmation basé sur des composants. Cependant, dans Vue2, la mise en œuvre de la gestion des états n'est pas très pratique et doit être gérée à l'aide de bibliothèques tierces telles que Vuex. Dans Vue3, la gestion des états a été grandement améliorée et améliorée, nous offrant

See all articles