Exportación e importación del historial de consultas
El Presto coordinador almacena el historial de consultas en system.runtime.queries una tabla. Pero system.runtime.queries la tabla se trunca al reiniciar Presto, lo que provoca la pérdida del historial de consultas. Para
mitigar este problema, puede exportar el historial de consultas como un archivo CSV e importar el historial de consultas de la system.runtime.queries tabla a una tabla que no sea del sistema.
Se recomienda exportar periódicamente el historial de consultas para evitar perderlo.
Para importar y exportar el historial de consultas, debe instalar Presto CLI. Para más información, consulte Conectarse al servidor Presto.
A partir de watsonx.data la versión 2.2.0, la autenticación utilizando ibmlhapikey y ibmlhtoken como nombres de usuario queda obsoleta. Estos formatos se eliminan gradualmente en 2.3.0 la versión. Para garantizar la compatibilidad
con las próximas versiones, utilice el nuevo formato:ibmlhapikey_<username> y ibmlhtoken_<username>.
Exportación del historial de consultas
Para exportar el historial de consultas, ejecute el mandato siguiente.
export PRESTO_PASSWORD=<your api_key>
./presto --server https://<port:host> --catalog system \
--schemaruntime --execute "select * from queries" \
--user ibmlhapikey --output-format CSV_HEADER > history.csv --password
Este mandato genera un archivo CSV, que contiene el historial de consultas exportado.
- Ejemplo
./presto --server https://8dac613f-ba5b-4c3c-8c96-
ce8de101f7cf.cdc406pd09pasng7elgg.databases.appdomain.cloud:30929 \
--execute "select * from system.runtime.queries" --output-format CSV_HEADER \
--user ibmlhapikey output-format CSV > history.csv --password
Importación del historial de consultas
-
Para importar el historial de consultas, cree un esquema en un catálogo en el que tenga acceso de escritura.
create schema <non-system-catalog.schema-name> with (location=' s3a://<bucket-name>/<schema-name>')- Ejemplo
./presto --server https://8dac613f-ba5b-4c3c-8c96-\ ce8de101f7cf.cdc406pd09pasng7elgg.databases.appdomain.cloud:30929 \ --execute "create schema hive_data.query_history with \ (location='s3a://8dac613f-ba5b-4c3c-8c96-ce8de101f7cf-customer/query_history')" \ --user ibmlhapikey --password -
Cree una tabla en el mismo catálogo.
Esta tabla debe tener los mismos metadatos que la tabla
system.runtime.queries. Utilice la sentenciaCREATE TABLE AS SELECTpara crear esta tabla.create table <non-system-table-name> as select * from system.runtime.queries where 1=0;where 1=0se asegura de que no se selecciona ninguna fila de una tabla, lo que produce un conjunto de resultados vacío.- Ejemplo
./presto --server https://8dac613f-ba5b-4c3c-8c96-ce8de101f7cf.cdc406pd09pasng7elgg.databases.appdomain.cloud:30929 --execute "create table hive_data.query_history.queries as select * from system.runtime.queries where 1=0" --user ibmlhapikey --password -
Para importar el historial de consultas en la tabla que acaba de crear, ejecute la consulta siguiente periódicamente.
INSERT INTO <non-system-table-name> SELECT * FROM system.runtime.queries WHERE query_id NOT IN (SELECT query_id FROM <non-system-table-name>);- Ejemplo
./presto --server \ https://8dac613f-ba5b-4c3c-8c96-ce8de101f7cf.cdc406pd09pasng7elgg.databases.appdomain.cloud:3092 \ –-execute "insert into hive_data.query_history.queries select * from system. runtime.queries \ where query_id not in (select query_id from hive_data.query_history.queries)" --user ibmlhapikey --password -
Para recuperar el historial de consultas de ambas tablas, utilice la sentencia siguiente.
select * from <non-system-table-name> union select * from `system.runtime.queries` order by created;- Ejemplo
./presto --server \ https://23b06b14-342b-4ed2-841d-7f02ca9ae788.cdc406pd09pasng7elgg.databases.appdomain.cloud:31530 \ --execute " select * from hive_data.query_history.queries union \ select * from system.runtime.queries order by created " \ --output-format=CSV_HEADER --user ibmlhapikey --password