Envío de una sentencia SQL
Función
Esta API se utiliza para enviar y ejecutar una sentencia SQL en un clúster MRS.
Restricciones
Ninguna
Depuración
Puede depurar esta API a través de la autenticación automática en API Explorer. API Explorer puede generar automáticamente código SDK de ejemplo y proporcionar la depuración de código SDK de ejemplo.
URI
- Formato
- Descripción de parámetro
Tabla 1 Parámetros de URI Parámetro
Obligatorio
Tipo
Descripción
project_id
Sí
String
El ID del proyecto. Para obtener más información sobre cómo obtener el ID del proyecto, consulte Obtención de un ID de proyecto.
cluster_id
Sí
String
El ID del clúster. Para obtener más información acerca de cómo obtener el ID de clúster, consulte Obtención de un ID de clúster.
Parámetros de solicitud
Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
sql_type | Sí | String | El tipo SQL. Actualmente, solo se soporta el SQL del tipo presto. NOTA:
|
sql_content | Sí | String | La sentencia SQL que se va a ejecutar. NOTA: Actualmente, solo se puede ejecutar una única sentencia SQL a la vez, y la sentencia no puede contener un punto y coma (;). |
database | No | String | La base de datos donde se encuentra la sentencia SQL que se va a ejecutar. El valor predeterminado es default. |
archive_path | No | String | El directorio para almacenar los resultados de ejecución SQL volcados. NOTA: Sólo la sentencia SELECT volca los resultados de la consulta. Actualmente, los resultados de la consulta solo se pueden volcar a OBS. |
Parámetros de respuesta
Código de estado: 200
Parámetro | Tipo | Descripción |
|---|---|---|
id | String | ID de ejecución de una sentencia SQL. El ID sólo se genera cuando se ejecuta la sentencia SELECT, SHOW o DESC. Para otras operaciones, el ID está vacío. |
message | String | El mensaje de error. |
statement | String | La sentencia SQL que se va a ejecutar. |
status | String | El estado de ejecución de una sentencia SQL. Valores posibles:
|
result_location | String | Ruta de acceso para archivar los resultados finales de la sentencia de consulta SQL. NOTA: Solo la sentencia SELECT volca los resultados de la ejecución de SQL a result_location. |
content | Array<Array<String>> | Resultado de la ejecución de la sentencia SQL. NOTA: Solo las sentencias que no sean SELECT devuelven resultados en content. Si la sentencia SQL no devuelve resultados, content está vacío. |
Código de estado: 400
Parámetro | Tipo | Descripción |
|---|---|---|
error_code | String | El código de error. |
error_msg | String | El mensaje de error. |
Solicitud de ejemplo
Ejemplo de solicitud para enviar una sentencia SQL
POST https://{endpoint}/v2/{project_id}/clusters/{cluster_id}/sql-execution
{
"sql_type" : "presto",
"sql_content" : "show tables",
"database" : "default",
"archive_path" : "obs://my-bucket/path"
} Ejemplo de respuesta
Código de estado: 200
La sentencia SQL se envía correctamente.
{
"id" : "20190909_011820_00151_xxxxx",
"statement" : "show tables",
"status" : "FINISHED",
"result_location" : " obs://my_bucket/uuid_date/xxxx.csv",
"content" : [ [ "t1", null ], [ null, "t2" ], [ null, "t3" ] ]
} Código de estado: 400
Error al enviar la sentencia SQL.
{
"error_code" : "MRS.0011",
"message": "Failed to submit SQL to the executor. The cluster ID is xxxx"
} Códigos de estado
Consulte Códigos de estado.
Códigos de error
Consulte Códigos de error.

