Es-hive-hive-alter-table

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

ハイブ-テーブルの変更

タブラの編集者、タブラの編集、タブラ、カンビアルロスノンブレムデラスコラムマス、アビガラーコラムス、イェリミナールオサスティトゥラスラスコラムスなどがあります。

InstrucciónAlter Table

コルメナのタブラとモディフィカのユーティリティ。

シンタクシス

Ladeclaraciónse cualquiera de las siguientes sintaxis basada en lo que los atributos que queremos modificar en una tabla。

ALTER TABLE name RENAME TO new_name
ALTER TABLE name ADD COLUMNS (col_spec[, col_spec ...])
ALTER TABLE name DROP [COLUMN] column_name
ALTER TABLE name CHANGE column_name new_name new_type
ALTER TABLE name REPLACE COLUMNS (col_spec[, col_spec ...])

Cambiar el nombre deDeclaración…​

ラ・コンサルタ・シギエンテ・カンビア・エル・ノムブレ・デ・ラ・タブラ・デ empleado a emp

hive> ALTER TABLE employee RENAME TO emp;

Programa JDBC

JDBCは、タブラとラシギエンテのプログラムを作成するためのJDBCです。

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

public class HiveAlterRenameTo {
   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("ALTER TABLE employee RENAME TO emp;");
      System.out.println("Table Renamed Successfully");
      con.close();
   }
}

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

$ javac HiveAlterRenameTo.java
$ java HiveAlterRenameTo

サライダ:

Table renamed successfully.

デクララシオン・カンビオ

La siguiente tabla contiene los campos de ** tabla de empleados y que muestra los campos que se va a cambiar(en negrita)。

Nombre del campo Conversión de tipo de datos Cambiar Nombre de campo Convertir al tipo de datos
Eid Int Eid Int
Nombre Cadena Ename Cadena
Sueldo Flotación Sueldo *Doble *
Designación Cadena Designación Cadena

Las consultas siguientes cambiar el nombre de la columna nombre y tipo de datos de la columna utilizando los datos anteriores:

hive> ALTER TABLE employee CHANGE name ename String;
hive> ALTER TABLE employee CHANGE salary salary Double;

Programa JDBC

継続的なプログラムのJDBC JDBCコラムおよびコラムです。

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

public class HiveAlterChangeColumn {
   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("ALTER TABLE employee CHANGE name ename String;");
      stmt.executeQuery("ALTER TABLE employee CHANGE salary salary Double;");

      System.out.println("Change column successful.");
      con.close();
   }
}

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

$ javac HiveAlterChangeColumn.java
$ java HiveAlterChangeColumn

サライダ:

Change column successful.

Declaraciónの集計列

La consulta siguiente agrega una columna denominada dept。 デラタブラデエンペラドス。

hive> ALTER TABLE employee ADD COLUMNS (
   > dept STRING COMMENT 'Department name');

Programa JDBC

その他のプログラムJDBC JDBCは列単位であり、タブタブではありません。

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

public class HiveAlterAddColumn {
   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("ALTER TABLE employee ADD COLUMNS " + " (dept STRING COMMENT 'Department name');");
      System.out.prinln("Add column successful.");

      con.close();
   }
}

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

$ javac HiveAlterAddColumn.java
$ java HiveAlterAddColumn

サライダ:

Add column successful.

サスティトゥールデクララシオン

La siguiente consulta elimina todas las columnas de la* empleados tabla y lo reemplaza con emp y nombres * columnas:

hive> ALTER TABLE employee REPLACE COLUMNS (
   > eid INT empid Int,
   > ename STRING name String);

Programa JDBC

継続的なプログラムのJDBC JDBCの例 eid columna empid y ename columna con el nombre

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

public class HiveAlterReplaceColumn {

   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("ALTER TABLE employee REPLACE COLUMNS "
         +" (eid INT empid Int,"
         +" ename STRING name String);");

      System.out.println(" Replace column successful");
      con.close();
   }
}

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

$ javac HiveAlterReplaceColumn.java
$ java HiveAlterReplaceColumn

サライダ:

Replace column successful.