Apache Hive viene con una base de datos ya creada con el nombre predeterminado . La base de datos predeterminada no se puede modificar en Hive porque está restringida. Para cada base de datos creada con éxito, la alteración se puede realizar según los requisitos del usuario.
La alteración en la base de datos se realiza para cambiar sus propiedades o características existentes. El comando ALTER se puede usar para realizar modificaciones en las bases de datos, tablas.
Para realizar la siguiente operación, asegúrese de que su colmena esté funcionando. A continuación se muestran los pasos para iniciar una colmena en su sistema local.
Paso 1: Inicie todo su Hadoop Daemon
start-dfs.sh # this will start namenode, datanode and secondary namenode start-yarn.sh # this will start node manager and resource manager jps # To check running daemons
Paso 2: Inicie Hive
hive
Comando de base de datos ALTER 1
Con la ayuda del siguiente comando, podemos agregar propiedades de la base de datos o modificar las propiedades que hemos agregado. DBPROPERTIES toma múltiples argumentos en forma de un par clave-valor.
Sintaxis:
BASE DE DATOS o ESQUEMA es lo mismo, podemos usar cualquier nombre. SCHEMA en ALTER se agrega en Hive 0.14.0 y posteriores.
ALTER (DATABASE|SCHEMA) <database_name> SET DBPROPERTIES ('<property_name>'='<property_value>',..);
Ejemplo:
Paso 1: Crea una base de datos con el nombre estudiante
CREATE DATABASE student;
Paso 2: use ALTER para agregar propiedades a la base de datos
ALTER DATABASE student SET DBPROPERTIES ( ' owner ' = ' GFG' , ' Date ' = ' 2020-5-6 ');
Paso 3: Describa la base de datos para ver el efecto
DESCRIBE DATABASE EXTENDED student;
Paso 4: Cambiemos la propiedad existente para ver el efecto. En nuestro ejemplo, estamos cambiando el propietario de GFG a Geeks .
ALTER DATABASE student SET DBPROPERTIES ( ' owner ' = ' Geeks ' , ' Date ' = ' 2020-5-6 ');
Hemos anulado con éxito la propiedad con ALTER.
Comando de base de datos ALTER 2
Con la ayuda del siguiente comando, podemos cambiar el directorio de la base de datos en HDFS . La UBICACIÓN con ALTERAR solo está disponible en Hive 2.2.1, 2.4.0 y versiones posteriores. Una cosa que debemos tener en cuenta es que cambiar la ubicación de la base de datos no transfiere datos a la ubicación recién especificada. Solo cambia la ubicación del directorio principal y los datos recién agregados se agregarán a esta nueva ubicación de HDFS.
Sintaxis:
ALTER (DATABASE|SCHEMA) <database_name> SET LOCATION 'Path_on_HDFS';
Ejemplo:
Paso 1: Describa el estudiante de la base de datos para ver su directorio principal. De forma predeterminada, Hive almacena sus datos en /user/hive/warehouse en HDFS.
DESCRIBE DATABASE EXTENDED student;
Paso 2: use ALTER para cambiar la ubicación del directorio principal (NOTA: /hive_db es el directorio disponible en mi HDFS).
ALTER DATABASE student SET LOCATION 'hdfs://localhost:9000/hive_db';
Paso 3: Describa el estudiante de la base de datos para ver si la ubicación se anula o no.
DESCRIBE DATABASE EXTENDED student;
Hemos cambiado con éxito la ubicación de la base de datos de estudiantes. Ahora, cualquier tabla que agregue a esta base de datos se creará en /hive_db.
Comando de base de datos ALTER 3
El siguiente comando se usa para configurar o cambiar el nombre de usuario y su ROL. SET OWNER transfiere la propiedad del usuario actual a un nuevo usuario o una nueva función. De forma predeterminada, el usuario que crea la base de datos se establece como el propietario de esa base de datos.
Sintaxis:
ALTER DATABASE <database_name> SET OWNER [USER|ROLE] user_name or role_name;
Ejemplo:
Cambiemos el nombre de usuario asociado con la base de datos de estudiantes.
DESCRIBE DATABASE EXTENDED student; # we have used it to see the current user info ALTER DATABASE student SET OWNER USER Ram; # with this we have changed the db owner from dikshant to Ram
Ahora, cambie el rol de ram a administrador.
ALTER DATABASE student SET OWNER ROLE admin;
Publicación traducida automáticamente
Artículo escrito por dikshantmalidev y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA