Heim Datenbank MySQL-Tutorial 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));    }  }}
Nach dem Login kopieren

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)
Nach dem Login kopieren

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();
Nach dem Login kopieren
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Verwenden Sie die Sprache Hive in Go, um ein effizientes Data Warehouse zu implementieren Verwenden Sie die Sprache Hive in Go, um ein effizientes Data Warehouse zu implementieren Jun 15, 2023 pm 08:52 PM

In den letzten Jahren sind Data Warehouses zu einem integralen Bestandteil des Unternehmensdatenmanagements geworden. Die direkte Verwendung der Datenbank für die Datenanalyse kann einfache Abfrageanforderungen erfüllen. Wenn wir jedoch umfangreiche Datenanalysen durchführen müssen, kann eine einzelne Datenbank diese Anforderungen nicht mehr erfüllen. Derzeit müssen wir ein Data Warehouse verwenden, um große Datenmengen zu verarbeiten . Hive ist eine der beliebtesten Open-Source-Komponenten im Data-Warehouse-Bereich. Es kann die verteilte Hadoop-Computing-Engine und SQL-Abfragen integrieren und die parallele Verarbeitung großer Datenmengen unterstützen. Verwenden Sie gleichzeitig in der Go-Sprache

Erste Schritte mit PHP: PHP und Hive Erste Schritte mit PHP: PHP und Hive May 20, 2023 am 08:33 AM

PHP ist eine weit verbreitete serverseitige Programmiersprache, die in fast allen Branchen eingesetzt wird. In diesem Artikel werden wir die besondere Rolle von PHP bei der Verarbeitung großer Datenmengen untersuchen. Unter bestimmten Umständen kann PHP mit ApacheHive zusammenarbeiten, um eine Datenverarbeitung und -analyse in Echtzeit zu erreichen. Lassen Sie uns zunächst Hive vorstellen. Hive ist eine Hadoop-basierte Data Warehouse-Lösung. Es kann strukturierte Daten in SQL-Abfragen abbilden und die Abfragen als MapReduce-Aufgaben ausführen.

PHP implementiert die Open-Source-Big-Data-Analyseplattform Hive PHP implementiert die Open-Source-Big-Data-Analyseplattform Hive Jun 18, 2023 pm 02:47 PM

Da die Datenverarbeitung immer wichtiger wird, wird die Big-Data-Analyse immer häufiger. Allerdings möchten viele Unternehmen möglicherweise nicht viel Geld für eine Business-Analytics-Plattform ausgeben. Open-Source-Lösungen bieten diesen Unternehmen eine sinnvolle Option. In diesem Artikel besprechen wir, wie man die Open-Source-Big-Data-Analyseplattform Hive mit PHP implementiert. Hive ist ein Hadoop-basiertes Data-Warehouse-System, das große Datensätze auf Hadoop über SQL abfragen und verwalten kann. Für die Abfrage wird die SQL-ähnliche HiveQL-Sprache verwendet

Microsoft Exchange Server von Hives „windows.exe'-Ransomware betroffen Microsoft Exchange Server von Hives „windows.exe'-Ransomware betroffen Apr 16, 2023 pm 01:28 PM

Während die Aktualisierung der Software und das Herunterladen von Dateien nur von vertrauenswürdigen Quellen zu den Standardpraktiken der Cybersicherheit gehören, ist angesichts der jüngsten Zunahme von Malware-Angriffen klar, dass in diesem Bereich mehr Aufklärung erforderlich ist. Zu diesem Zweck hat das Forensik-Team von Varonis einige Hinweise dazu gegeben, wie Angreifer, die Hive-Ransomware verwenden, in ihrer neuesten Angriffsserie auf Microsoft Exchange Server abzielen. Für diejenigen, die es nicht wissen: Hive folgt einem Ransomware-as-a-Service-Modell. Obwohl Microsoft E im Jahr 2021 wegen bekannter Schwachstellen ins Visier nimmt,

Der Fortschritt von Vue3 im Vergleich zu Vue2: leistungsfähigeres Zustandsmanagement Der Fortschritt von Vue3 im Vergleich zu Vue2: leistungsfähigeres Zustandsmanagement Jul 07, 2023 pm 07:45 PM

Der Fortschritt von Vue3 im Vergleich zu Vue2: Leistungsstärkeres Zustandsmanagement Mit der kontinuierlichen Weiterentwicklung der Front-End-Entwicklungstechnologie ist die Bedeutung des Zustandsmanagements in großen Anwendungen immer wichtiger geworden. Als beliebtes Front-End-Framework bietet Vue Entwicklern durch seine reaktionsfähige Datenbindung und seinen komponentenbasierten Programmierstil ein komfortables Entwicklungserlebnis. In Vue2 ist die Implementierung der Statusverwaltung jedoch nicht sehr praktisch und muss mithilfe von Bibliotheken von Drittanbietern wie Vuex verwaltet werden. In Vue3 wurde die Zustandsverwaltung erheblich verbessert und erweitert, was uns Folgendes bietet

Centos7-Installations- und Konfigurations-Hive-Tutorial. Centos7-Installations- und Konfigurations-Hive-Tutorial. Feb 19, 2024 pm 02:21 PM

Bei der Installation und Konfiguration von Hive unter CentOS7 können Sie die folgenden Schritte ausführen: Stellen Sie sicher, dass Java installiert ist: Stellen Sie zunächst sicher, dass Java auf CentOS7 installiert ist. Mit dem folgenden Befehl können Sie überprüfen, ob Java installiert ist: java-version. Wenn Java nicht installiert ist, installieren Sie bitte die entsprechende Java-Version entsprechend Ihren Anforderungen. Laden Sie Hive herunter: Besuchen Sie die offizielle Website von ApacheHive () und laden Sie die neueste stabile Version von Hive herunter. Dekomprimieren Sie das komprimierte Hive-Paket: Verwenden Sie den folgenden Befehl, um das komprimierte Hive-Paket zu dekomprimieren: tarxvfzhive-x.x.x.tar.gz Dadurch wird Hive in das aktuelle Verzeichnis dekomprimiert. Umgebungsvariablen konfigurieren: Terminal öffnen,

Microsoft veröffentlicht einen Fix für den Fehler „Behavior:Win32/Hive.ZY' in Windows Defender Microsoft veröffentlicht einen Fix für den Fehler „Behavior:Win32/Hive.ZY' in Windows Defender Apr 28, 2023 pm 04:01 PM

Ein Microsoft-Beamter bestätigte weit verbreitete Berichte, dass Google Chrome, ChromiumEdge, Discord und mehrere andere Anwendungen von Microsofts integrierter Antivirensoftware „WindowsDefender“ als „Behavior:Win32/Hive.ZY“ gekennzeichnet wurden. Der Technologieriese bestätigte in einer Erklärung, dass er an einer Lösung arbeitet, die in den nächsten Stunden für alle bereitgestellt wird. Was genau ist „Behavior:Win32/Hive.ZY“? Laut einem auf dem Sicherheitsportal von Microsoft veröffentlichten Dokument ist jede mit „Behavior:Win32/Hive.ZY“ gekennzeichnete Datei dies

Der Fortschritt von Vue3 im Vergleich zu Vue2: flexiblere benutzerdefinierte Anweisungen Der Fortschritt von Vue3 im Vergleich zu Vue2: flexiblere benutzerdefinierte Anweisungen Jul 08, 2023 pm 04:00 PM

Der Fortschritt von Vue3 im Vergleich zu Vue2: flexiblere benutzerdefinierte Anweisungen Mit der kontinuierlichen Weiterentwicklung der Front-End-Technologie bringt Vue.js als beliebtes JavaScript-Framework weiterhin neue Versionen auf den Markt, um den Anforderungen der Entwickler gerecht zu werden. Eine der Verbesserungen von Vue3 gegenüber Vue2 besteht darin, dass es flexiblere Funktionen für benutzerdefinierte Anweisungen bietet. In diesem Artikel wird diese Verbesserung anhand der Einführung neuer Funktionen und Codebeispiele von Vue3 ausführlich erläutert. In Vue2 werden benutzerdefinierte Anweisungen durch globale Registrierung oder lokale Registrierung erstellt und verwendet.

See all articles