Es-hive-hive-create-table

提供:Dev Guides
移動先:案内検索

ハイブ-テーブルの作成

詳細な説明は、タブラの挿入と挿入を行うことができます。 SQLのタブを使用したタブラの作成

InstrucciónCreate Table

Hiveのタブラを使用してタブラを作成します。 ラ・シンタクシス・イ・エル・イェメンプロソン・ロス・シギエンテス:

シンタクシス

CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.] table_name

[(col_name data_type [COMMENT col_comment], ...)]
[COMMENT table_comment]
[ROW FORMAT row_format]
[STORED AS file_format]

エジェプロ

Supongamos que usted necesita para crear una tabla denominada empleado mediante CREATE TABLE instrucción。 ラ・シギエンテ・タブラ・ミューストラ・ロス・カンポス・イ・サス・ティポス・デ・ダトス・デ・タブラ・デ・エンプリアード:

Sr No Nombre del campo Tipo de datos
1 Eid Int
2 Nombre Cadena
3 Sueldo Flotación
4 Designación Cadena

Los datos siguientes es un comentario、campos con formato de fila como terminador de campo、Líneasterminador、y tipo de archivo almacenado。

COMMENT ‘Employee details’
FIELDS TERMINATED BY ‘\t’
LINES TERMINATED BY ‘\n’
STORED IN TEXT FILE

La siguiente consulta crea una tabla llamada empleados utilizando los datos anteriores。

hive> CREATE TABLE IF NOT EXISTS employee ( eid int, name String,
> salary String, destination String)
> COMMENT ‘Employee details’
> ROW FORMAT DELIMITED
> FIELDS TERMINATED BY ‘\t’
> LINES TERMINATED BY ‘\n’
> STORED AS TEXTFILE;

Si a ello se agrega laopciónSI NO EXISTE、pasa por alto ladeclaraciónen caso de que la tabla ya existe。

タブラデクレアシオンデラシグラエンテレスポンダ:

OK
Time taken: 5.905 seconds
hive>

Programa JDBC

El programa JDBC para crear una tabla se han dado un ejemplo。

import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager;

public class HiveCreateTable {
   private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";

   public static void main(String[] args) throws SQLException {

     //Register driver and create driver instance
      Class.forName(driverName);

     //get connection
      Connection con = DriverManager.getConnection("jdbc:hive://localhost:10000/userdb", "", "");

     //create statement
      Statement stmt = con.createStatement();

     //execute statement
      stmt.executeQuery("CREATE TABLE IF NOT EXISTS "
         +" employee ( eid int, name String, "
         +" salary String, destignation String)"
         +" COMMENT ‘Employee details’"
         +" ROW FORMAT DELIMITED"
         +" FIELDS TERMINATED BY ‘\t’"
         +" LINES TERMINATED BY ‘\n’"
         +" STORED AS TEXTFILE;");

      System.out.println(“ Table employee created.”);
      con.close();
   }
}

アーカイブHiveCreateDb.javaのプログラムを保護します。 ロスシギエンテスコマンドは、プログラムに対応しています。

$ javac HiveCreateDb.java
$ java HiveCreateDb

サライダ

Table employee created.

Sentenciaロードデータ

一般的には、SQLのタブを使用して、挿入を挿入します。 Pero en Hive、podemos introducir datos mediante la sentencia LOAD DATA。

ハイブの挿入物、アルマセナーの主要なユーティリティ、グラナールのカルト。 干し草は、カーゴデータの形をとっています。

シンタクシス

ラシンタクシスパラカルガデダトスエスエルシギエンテ:

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename
[PARTITION (partcol1=val1, partcol2=val2 ...)]
  • Es el identificador LOCAL para especificar la ruta de acceso local。 エスオプショナル。
  • SOBRESCRIBIRは、タブラパラソブレシクリバーのオプションです。
  • 参加者は任意です。

エジェプロ

バモスアインクルールロスシギエンテスダトスアンラタブラ。 テキストアーカイブのサンプル* sample.txt en el directorio /home/ * directorio de usuario。

1201  Gopal       45000    Technical manager
1202  Manisha     45000    Proof reader
1203  Masthanvali 40000    Technical writer
1204  Kiran       40000    Hr Admin
1205  Kranthi     30000    Op Admin

タブラについての質問

hive> LOAD DATA LOCAL INPATH '/home/user/sample.txt'
> OVERWRITE INTO TABLE employee;

デスカルガ・イグトーザ、ユステッド・ポドラ・ラ・ラ・シギエンテ・レスプエスタ:

OK
Time taken: 15.905 seconds
hive>

Programa JDBC

JDBCの連続したプログラムとタブラの連続したプログラム。

import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager;

public class HiveLoadData {

   private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";

   public static void main(String[] args) throws SQLException {

     //Register driver and create driver instance
      Class.forName(driverName);

     //get connection
      Connection con = DriverManager.getConnection("jdbc:hive://localhost:10000/userdb", "", "");

     //create statement
      Statement stmt = con.createStatement();

     //execute statement
      stmt.executeQuery("LOAD DATA LOCAL INPATH '/home/user/sample.txt'" + "OVERWRITE INTO TABLE employee;");
      System.out.println("Load Data into employee successful");

      con.close();
   }
}

アーカイブHiveLoadData.javaのプログラムを保護します。 ロスシギエンテスコマンドを使用して、プログラムを実行します。

$ javac HiveLoadData.java
$ java HiveLoadData

サライダ:

Load Data into employee successful