Traitement par lots
Paramètres et en-têtes communs
Les informations suivantes sont communes à toutes les tâches liées aux clusters que vous pouvez effectuer :
Remplacez {cluster-endpoint} par l’URL du point de terminaison de gestion de votre cluster. (par exemple, myendpoint.azurehdinsight.net)
Remplacez {batch-id} par l’ID de lot retourné lors de la soumission du travail.
Définissez l’en-tête Content-Type sur application/json.
Authentifiez-vous avec le point de terminaison à l’aide de l’authentification DE base HTTP.
Créer un travail de traitement par lots
Envoyez un nouveau travail par lot à partir d’un fichier jar.
Requête
Consultez Paramètres et en-têtes communs pour les en-têtes et les paramètres utilisés par les clusters.
Méthode | URI de demande |
---|---|
POST | https://{cluster-endpoint}/livy/batches |
Voici un exemple de demande de création d’un nouveau travail par lots
{
"file" : "wasb://<BlobStorageContainerName>@<StorageAccountName>.blob.core.windows.net/sample.jar",
"args" : ["arg0", "arg1"],
"className" : "com.sample.Job1",
"jars" : ["wasb://<BlobStorageContainerName>@<StorageAccountName>.blob.core.windows.net/helper.jar"],
"files" : ["wasb://<BlobStorageContainerName>@<StorageAccountName>.blob.core.windows.net/config.xml"],
"driverMemory" : "1G",
"driverCores" : 2,
"executorMemory" : "1G",
"executorCores" : 10,
"numExecutors" : 10
}
Nom de l’élément | Obligatoire | Type | Description |
---|---|---|---|
proxyUser | Non | String | Utilisateur à emprunter l’identité qui exécutera le travail |
fichier | Oui | String | Chemin d’accès au fichier jar du travail de traitement par lots. |
args | Non | Tableau de chaînes | Arguments de ligne de commande passés au travail par lot. |
ClassName | Oui | String | Nom de classe de la classe main. |
jars | Non | Tableau de chaînes | Fichiers à placer sur le classpath java |
pyFiles | Non | Tableau de chaînes | Fichiers à placer sur pythonPATH |
files | Non | Tableau de chaînes | Fichiers à placer dans le répertoire de travail de l’exécuteur |
driverMemory | Non | String | Mémoire pour le pilote (1000M, 2G) |
driverCores | Non | Integer | Nombre de cœurs utilisés par le pilote |
executorMemory | Non | String | Mémoire pour l’exécuteur (1000M, 2G) |
executorCores | Non | Integer | Nombre de cœurs utilisés par l’exécuteur |
numExecutors | Non | Integer | Nombre d’exécuteurs |
archives | Non | Tableau de chaînes | Archives à décompresser (mode YARN uniquement) |
response
L’opération retourne 200 (OK) si la demande est terminée avec succès
Code d’état : 200 OK
Corps de la réponse :
{
"id" : 1,
"state" : "starting",
"log" : ["logline"]
}
Nom de l’élément | Obligatoire | Type | Description |
---|---|---|---|
id | Oui | Integer | ID de session de lot |
log | Oui | Tableau de chaînes | Tableau de lignes de journal pour ce travail par lots. |
state | Non | String | État de session. Valeur possible : ["starting », « idle », « error"] |
Obtenir le journal complet d’un travail de traitement par lots
Requête
Consultez Paramètres et en-têtes communs pour les en-têtes et les paramètres utilisés par les clusters.
Méthode | URI de demande |
---|---|
GET | https://{cluster-endpoint}/livy/batches/{batch-id}/log |
response
Si la validation est terminée et que la demande est acceptée, l’opération retourne 200 (OK).
Code d’état : 200 OK
Corps de la réponse :
{
"id" : 1,
"from":0,
"total":54
“log" : ["logline1", “logline2”]
}
Nom de l'élément | Obligatoire | Type | Description |
---|---|---|---|
id | Oui | Integer | ID de session batch |
de | Oui | Integer | Offset |
taille | Oui | Integer | Nombre total de lignes |
log | Oui | Tableau de chaînes | Tableau de lignes de journal pour ce travail par lots. |
Obtenir l’état d’un travail par lots
Requête
Consultez Paramètres et en-têtes communs pour les en-têtes et les paramètres utilisés par les clusters.
Méthode | URI de demande |
---|---|
GET | https://{cluster-endpoint}/livy/batches/{batch-id} |
response
Si la validation est terminée et que la demande est acceptée, l’opération retourne 200 (OK).
Code d’état : 200 OK
Corps de la réponse :
{
"id" : 1,
"state" : "starting",
“log" : ["logline"]
}
Nom de l'élément | Obligatoire | Type | Description |
---|---|---|---|
id | Oui | Integer | ID de session batch |
log | Oui | Tableau de chaînes | Tableau de lignes de journal pour ce travail par lots. |
state | Oui | String | État de session. Valeur possible : ["starting », « idle », « error"] |
Tuer un travail par lots
Requête
Consultez Paramètres et en-têtes communs pour les en-têtes et les paramètres utilisés par les clusters.
Méthode | URI de demande |
---|---|
Suppression | https://{cluster-endpoint}/livy/batches/{batch-id} |
response
Si la validation est terminée et que la demande est acceptée, l’opération retourne 200 (OK).
Code d’état : 200 OK
Corps de la réponse :
{
"msg" : "deleted"
}
Nom de l'élément | Obligatoire | Type | Description |
---|---|---|---|
Message | Oui | String | Message de la suppression. |
Sessions interactives
- Démarrer, envoyer une instruction, récupérer les résultats de l’instruction et mettre fin à une session interactive
Retourner tous les travaux par lots actifs
Requête
Consultez Paramètres et en-têtes communs pour les en-têtes et les paramètres utilisés par les clusters.
Méthode | URI de demande |
---|---|
GET | https://{cluster-endpoint}/livy/batches |
response
Si la validation est terminée et que la demande est acceptée, l’opération retourne 200 (OK).
Code d’état : 200 OK
Corps de la réponse :
{
"from" : 0,
"total" : 2,
"sessions" : [{
"id" : 1,
"state" : "starting",
"log" : ["logline"]
}, {
"id" : 0,
"state" : "idle",
"log" : ["logline"]
}
]
}
Nom de l'élément | Obligatoire | Type | Description |
---|---|---|---|
de | Oui | String | Offset |
total | Oui | String | Nombre de lots à retourner |
session | Oui | Tableau de type complexe (Batch) | Liste des travaux par lots actifs |
Batch
Nom de l'élément | Obligatoire | Type | Description |
---|---|---|---|
id | Oui | Integer | ID de session batch |
log | Oui | Tableau de chaînes | Tableau de lignes de journal pour ce travail par lots. |
state | Oui | String | État de session. Valeur possible : ["starting », « idle », « error"] |