AWS Data Pipeline não está mais disponível para novos clientes. Os clientes existentes do AWS Data Pipeline podem continuar usando o serviço normalmente. Saiba mais
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
HiveActivity
Executa uma consulta do Hive em um cluster do EMR. O HiveActivity
facilita a configuração de uma atividade do Amazon EMR e cria automaticamente tabelas do Hive com base nos dados de entrada provenientes do Amazon S3 ou do Amazon RDS. Tudo o que você precisa especificar é o HiveQL a ser executado nos dados de origem. AWS Data Pipeline cria automaticamente tabelas do Hive com${input1}
,${input2}
, e assim por diante, com base nos campos de entrada no HiveActivity
objeto.
Para as entradas do Amazon S3, o campo dataFormat
é usado para criar os nomes das colunas do Hive.
Para entradas MySQL (Amazon RDS), os nomes das colunas para a consulta SQL são usados para criar os nomes das colunas do Hive.
nota
Essa atividade usa o CSV Serde
Exemplo
Veja a seguir um exemplo deste tipo de objeto. Esse objeto faz referência a três outros objetos definidos por você no mesmo arquivo de definição de pipeline. MySchedule
é um objeto Schedule
e MyS3Input
e MyS3Output
são objetos de nó de dados.
{ "name" : "ProcessLogData", "id" : "MyHiveActivity", "type" : "HiveActivity", "schedule" : { "ref": "MySchedule" }, "hiveScript" : "INSERT OVERWRITE TABLE ${output1} select host,user,time,request,status,size from ${input1};", "input" : { "ref": "MyS3Input" }, "output" : { "ref": "MyS3Output" }, "runsOn" : { "ref": "MyEmrCluster" } }
Sintaxe
Campos de invocação de objetos | Descrição | Tipo de slot |
---|---|---|
programar | Esse objeto é invocado durante a execução de um intervalo de programação. Especifique uma referência de programação para outro objeto para definir a ordem de execução de dependência desse objeto. Você pode satisfazer esse requisito definindo explicitamente uma programação no objeto, por exemplo, especificando “agenda”: {"ref”: "DefaultSchedule“}. Na maioria dos casos, é melhor colocar a referência de programação no objeto de pipeline padrão para que todos os objetos herdem essa programação. Como alternativa, se o pipeline tiver uma árvore de programações (outras programações dentro de uma programação principal), você poderá criar um objeto principal que tenha uma referência de programação. Para obter mais informações sobre o exemplo de configurações opcionais de programação, consulte https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html. | Objeto de referência, por exemplo, “agenda”: {"ref”:” myScheduleId “} |
Grupo obrigatório (um dos seguintes é obrigatório) | Descrição | Tipo de slot |
---|---|---|
hiveScript | O script Hive a ser executado. | String |
scriptUri | O local do script Hive a ser executado (por exemplo, s3://scriptLocation). | String |
Grupo obrigatório | Descrição | Tipo de slot |
---|---|---|
runsOn | O cluster do EMR em que HiveActivity está sendo executada. |
Objeto de referência, por exemplo, “runsOn”: {"ref”:” myEmrCluster Id "} |
workerGroup | O grupo de operadores. Isso é usado para tarefas de roteamento. Se você fornecer um valor de runsOn e workerGroup existir, será ignorado.workerGroup |
String |
input | A fonte de dados de entrada. | Objeto de referência, como “input”: {"ref”:” myDataNode Id "} |
saída | A fonte de dados de saída. | Objeto de referência, como “output”: {"ref”:” myDataNode Id "} |
Campos opcionais | Descrição | Tipo de slot |
---|---|---|
attemptStatus | Status mais recente da atividade remota. | String |
attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se definida, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período |
dependsOn | Especifique a dependência em outro objeto executável. | Objeto de referência, como “dependsOn”: {"ref”:” myActivityId “} |
failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração |
hadoopQueue | O nome da fila do programador do Hadoop em que o trabalho será enviado. | String |
lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand . |
Período |
maxActiveInstances | O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. | Inteiro |
maximumRetries | A quantidade máxima de novas tentativas após uma falha. | Inteiro |
onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, como “onFail”: {"ref”:” myActionId “} |
onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência, como "onLateAction“: {" ref”:” myActionId “} |
onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, como “onSuccess”: {"ref”:” myActionId “} |
parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, como “parent”: {"ref”:” myBaseObject Id "} |
pipelineLogUri | O URI do S3 (como 's3://BucketName/Key/ ') para carregar registros para o pipeline. | String |
postActivityTaskConfig | Script de configuração pós-atividade a ser executado. Consiste em um URI do script de shell no Amazon S3 e uma lista de argumentos. | Objeto de referência, como "postActivityTaskConfig”: {"ref”:” myShellScript ConfigId “} |
preActivityTaskConfig | Script de configuração pré-atividade a ser executado. Consiste em um URI do script de shell no Amazon S3 e uma lista de argumentos. | Objeto de referência, como "preActivityTaskConfig”: {"ref”:” myShellScript ConfigId “} |
precondition | Se desejar, você pode definir uma precondição. Um nó de dados não fica marcado como "READY" até que todas as precondições tenham sido atendidas. | Objeto de referência, como “pré-condição”: {"ref”:” myPreconditionId “} |
reportProgressTimeout | Tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress . Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. |
Período |
resizeClusterBeforeCorrendo | Redimensione o cluster antes de executar esta atividade para acomodar nós de dados do DynamoDB especificados como entradas ou saídas. notaSe sua atividade usa a |
Booliano |
resizeClusterMaxInstâncias | Um limite no número máximo de instâncias que pode ser solicitado pelo algoritmo de redimensionamento. | Inteiro |
retryDelay | A duração do tempo limite entre duas novas tentativas. | Período |
scheduleType | O tipo de programação permite que você especifique se os objetos na sua definição de pipeline devem ser programados no início ou no final do intervalo. Programação com estilo de séries temporais significa que as instâncias são programadas no final de cada intervalo, e Programação com estilo Cron significa que as instâncias são programadas no início de cada intervalo. Uma programação sob demanda permite que você execute um pipeline uma vez por ativação. Isso significa que você não precisa clonar nem recriar o pipeline para executá-lo novamente. Se você usar uma programação sob demanda, ela precisará ser especificada no objeto padrão, além de ser a única scheduleType especificada para objetos no pipeline. Para usar pipelines sob demanda, basta chamar a ActivatePipeline operação para cada execução subsequente. Os valores são: cron, ondemand e timeseries. | Enumeração |
scriptVariable | Especifica variáveis de script para o Amazon EMR para serem passadas para o Hive durante a execução de um script. Por exemplo, as seguintes variáveis do script de exemplo enviariam variáveis SAMPLE e FILTER_DATE para o Hive: SAMPLE=s3://elasticmapreduce/samples/hive-ads e
FILTER_DATE=#{format(@scheduledStartTime,'YYYY-MM-dd')}% . Este campo aceita vários valores e funciona com os campos script e scriptUri . Além disso, o scriptVariable funciona independentemente do estágio estar definido como true ou false . Este campo é especialmente útil para enviar valores dinâmicos para o Hive usando expressões e funções do
AWS Data Pipeline . |
String |
stage | Determina se a migração de dados está habilitada antes ou depois de executar o script. Não é permitido com o Hive 11, para uso em uma AMI do Amazon EMR versão 3.2.0 ou superior. | Booliano |
Campos de tempo de execução | Descrição | Tipo de slot |
---|---|---|
@activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, como “ActiveInstances”: {"ref”:” myRunnableObject Id "} |
@actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime |
@actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime |
cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String |
@cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, como "cascadeFailedOn“: {" ref”:” myRunnableObject Id "} |
emrStepLog | Registros da etapa do Amazon EMR disponíveis somente nas tentativas de atividade do EMR. | String |
errorId | O ID do erro se esse objeto apresentou falha. | String |
errorMessage | A mensagem de erro se esse objeto apresentou falha. | String |
errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String |
@finishedTime | A hora em que esse objeto terminou a execução. | DateTime |
hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String |
@healthStatus | O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. | String |
@healthStatusFromInstanceId | ID do último objeto da instância concluído. | String |
@ healthStatusUpdated Hora | Hora em que o status de integridade foi atualizado pela última vez. | DateTime |
hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String |
@lastDeactivatedTime | A hora em que esse objeto foi desativado pela última vez. | DateTime |
@ latestCompletedRun Hora | Hora da última execução concluída. | DateTime |
@latestRunTime | Hora da última execução programada. | DateTime |
@nextRunTime | Hora da próxima execução a ser programada. | DateTime |
reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime |
@scheduledEndTime | Horário de término programado para um objeto. | DateTime |
@scheduledStartTime | Horário de início programado para um objeto. | DateTime |
@status | O status deste objeto. | String |
@version | A versão do pipeline com que o objeto foi criado. | String |
@waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, como “waitingOn”: {"ref”:” myRunnableObject Id "} |
Campos do sistema | Descrição | Tipo de slot |
---|---|---|
@error | Erro ao descrever o objeto malformado. | String |
@pipelineId | ID do pipeline ao qual este objeto pertence. | String |
@sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String |