Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APLICA-SE A: Azure Data Factory
Azure Synapse Analytics
Dica
Experimente o Data Factory no Microsoft Fabric, uma solução de análise completa para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!
Este artigo descreve como usar a atividade de cópia nos pipelines do Azure Data Factory ou do Azure Synapse Analytics para copiar dados de uma tabela do Spark. Ele amplia o artigo Visão geral da atividade de cópia que apresenta uma visão geral da atividade de cópia.
Importante
A versão 2.0 do conector Spark fornece suporte nativo aprimorado ao Spark. Se você estiver usando o conector Spark versão 1.0 em sua solução, atualize o conector spark antes de 30 de setembro de 2025. Consulte esta seção para obter detalhes sobre a diferença entre a versão 2.0 e a versão 1.0.
Funcionalidades com suporte
O conector do Spark é compatível com as seguintes funcionalidades:
Funcionalidades com suporte | IR |
---|---|
Atividade de cópia (origem/-) | (1) (2) |
Atividade de pesquisa | (1) (2) |
① Tempo de execução de integração do Azure ② Tempo de execução de integração auto-hospedado
Para obter uma lista de armazenamentos de dados com suporte como origens/coletores da atividade de cópia, confira a tabela Armazenamentos de dados com suporte.
O serviço fornece um driver interno para habilitar a conectividade, portanto, não é necessário instalar manualmente qualquer driver usando esse conector.
Pré-requisitos
Se o armazenamento de dados estiver localizado dentro de uma rede local, em uma rede virtual do Azure ou na Amazon Virtual Private Cloud, você precisará configurar um runtime de integração auto-hospedada para se conectar a ele.
Se o armazenamento de dados for um serviço de dados de nuvem gerenciado, você poderá usar o Azure Integration Runtime. Se o acesso for restrito aos IPs que estão aprovados nas regras de firewall, você poderá adicionar IPs do Azure Integration Runtime à lista de permissões.
Você também pode usar o recurso de runtime de integração da rede virtual gerenciada no Azure Data Factory para acessar a rede local sem instalar e configurar um runtime de integração auto-hospedada.
Para obter mais informações sobre os mecanismos de segurança de rede e as opções compatíveis com o Data Factory, consulte Estratégias de acesso a dados.
Introdução
Para executar a atividade de Cópia com um pipeline, será possível usar as ferramentas ou os SDKs abaixo:
- A ferramenta Copiar Dados
- O portal do Azure
- O SDK do .NET
- O SDK do Python
- PowerShell do Azure
- A API REST
- O modelo do Azure Resource Manager
Criar um serviço vinculado ao Spark com a interface do usuário
Use as etapas abaixo para criar um serviço vinculado ao Spark na interface do usuário do portal do Azure.
Navegue até a guia Gerenciar no workspace do Azure Data Factory ou do Synapse e selecione Serviços Vinculados. Depois, clique em Novo:
Pesquise Spark e selecione o conector correspondente.
Configure os detalhes do serviço, teste a conexão e crie o novo serviço vinculado.
Detalhes da configuração do conector
As seções a seguir fornecem detalhes sobre as propriedades usadas para definir entidades do Data Factory específicas ao conector do Spark.
Propriedades do serviço vinculado
O conector do Spark agora dá suporte à versão 2.0. Consulte esta seção para atualizar a versão do conector Spark de 1.0 para uma versão mais recente. Para obter detalhes sobre as propriedades, consulte as seções correspondentes.
Versão 2.0
As propriedades a seguir têm suporte para o serviço vinculado Spark na versão 2.0:
Propriedade | Descrição | Obrigatório |
---|---|---|
tipo | A propriedade type deve ser definida como: Spark | Sim |
versão | A versão que você especifica. O valor é 2.0 . |
Sim |
hospedar | Endereço IP ou nome do host do servidor Spark | Sim |
porta | A porta TCP usada pelo servidor Spark para ouvir conexões de cliente. Se você se conectar ao Azure HDInsight, especifique a porta como 443. | Sim |
serverType | O tipo de servidor do Spark. O valor permitido é: SparkThriftServer |
Não |
thriftTransportProtocol | O protocolo de transporte a ser usado na camada de Thrift. O valor permitido é: HTTP |
Não |
tipoDeAutenticação | O método de autenticação usado para acessar o servidor do Spark. Valores permitidos são: Anonymous, UsernameAndPassword, WindowsAzureHDInsightService |
Sim |
nome de usuário | O nome de usuário que você usa para acessar o servidor do Spark. | Não |
senha | A senha correspondente ao usuário. Marque este campo como um SecureString para armazená-lo com segurança ou referencie um segredo armazenado no Azure Key Vault. | Não |
httpPath | A URL parcial correspondente ao servidor do Spark. Para o tipo de autenticação WindowsAzureHDInsightService, o valor padrão é /sparkhive2 . |
Não |
ativarSsl | Especifica se as conexões com o servidor são criptografadas via TLS. O valor padrão é true. | Não |
AtivarValidaçãoDeCertificadoDoServidor | Especifique se deseja habilitar a validação do certificado SSL do servidor ao se conectar. Sempre usar o Repositório confiável do Sistema. O valor padrão é true. |
Não |
connectVia | O Integration Runtime a ser usado para se conectar ao armazenamento de dados. Saiba mais na seção Pré-requisitos. Se não for especificado, ele usa o Integration Runtime padrão do Azure. | Não |
Exemplo:
{
"name": "SparkLinkedService",
"properties": {
"type": "Spark",
"version": "2.0",
"typeProperties": {
"host": "<cluster>.azurehdinsight.net",
"port": "<port>",
"authenticationType": "WindowsAzureHDInsightService",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
}
}
}
Versão 1.0
As propriedades a seguir são suportadas pela versão 1.0 do serviço vinculado Spark:
Propriedade | Descrição | Obrigatório |
---|---|---|
tipo | A propriedade type deve ser definida como: Spark | Sim |
hospedar | Endereço IP ou nome do host do servidor Spark | Sim |
porta | A porta TCP usada pelo servidor Spark para ouvir conexões de cliente. Se você se conectar ao Azure HDInsight, especifique a porta como 443. | Sim |
serverType | O tipo de servidor do Spark. Valores permitidos são: SharkServer, SharkServer2, SparkThriftServer |
Não |
thriftTransportProtocol | O protocolo de transporte a ser usado na camada de Thrift. Os valores permitidos são: Binário, SASL, HTTP |
Não |
tipoDeAutenticação | O método de autenticação usado para acessar o servidor do Spark. Valores permitidos são: Anônimo, Username, UsernameAndPassword, WindowsAzureHDInsightService |
Sim |
nome de usuário | O nome de usuário que você usa para acessar o servidor do Spark. | Não |
senha | A senha correspondente ao usuário. Marque este campo como um SecureString para armazená-lo com segurança ou referencie um segredo armazenado no Azure Key Vault. | Não |
httpPath | A URL parcial correspondente ao servidor do Spark. | Não |
ativarSsl | Especifica se as conexões com o servidor são criptografadas via TLS. O valor padrão é false. | Não |
trustedCertPath | O caminho completo do arquivo .pem que contém certificados de AC confiáveis para verificar o servidor ao se conectar via TLS. Essa propriedade só pode ser definida ao usar o TLS em IR auto-hospedado. O valor padrão é o arquivo de cacerts.pem instalado com o IR. | Não |
useSystemTrustStore | Especifica se deve usar um certificado de autoridade de certificação do repositório de confiança de sistema ou de um arquivo PEM especificado. O valor padrão é false. | Não |
allowHostNameCNMismatch | Especifica se é necessário o nome do certificado TLS/SSL emitido pela AC para corresponder ao nome de host do servidor ao se conectar via TLS. O valor padrão é false. | Não |
allowSelfSignedServerCert | Especifica se deve permitir os certificados autoassinados do servidor. O valor padrão é false. | Não |
connectVia | O Integration Runtime a ser usado para se conectar ao armazenamento de dados. Saiba mais na seção Pré-requisitos. Se não for especificado, ele usa o Integration Runtime padrão do Azure. | Não |
Exemplo:
{
"name": "SparkLinkedService",
"properties": {
"type": "Spark",
"typeProperties": {
"host": "<cluster>.azurehdinsight.net",
"port": "<port>",
"authenticationType": "WindowsAzureHDInsightService",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
}
}
}
Propriedades do conjunto de dados
Para obter uma lista completa das seções e propriedades disponíveis para definir os conjuntos de dados, confira o artigo sobre conjuntos de dados. Esta seção fornece uma lista das propriedades com suporte pelo conjunto de dados do Spark.
Para copiar dados do Spark, defina a propriedade type do conjunto de dados como SparkObject. Há suporte para as seguintes propriedades:
Propriedade | Descrição | Obrigatório |
---|---|---|
tipo | A propriedade type do conjunto de dados precisa ser definida como: SparkObject | Sim |
esquema | Nome do esquema. | Não (se "query" na fonte da atividade for especificada) |
tabela | Nome da tabela. | Não (se "query" na fonte da atividade for especificada) |
nome da tabela | Nome da tabela com esquema. Essa propriedade é compatível com versões anteriores. Use schema e table para uma nova carga de trabalho. |
Não (se "query" na fonte da atividade for especificada) |
Exemplo
{
"name": "SparkDataset",
"properties": {
"type": "SparkObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<Spark linked service name>",
"type": "LinkedServiceReference"
}
}
}
Propriedades da atividade de cópia
Para obter uma lista completa das seções e propriedades disponíveis para definir atividades, confia o artigo Pipelines. Esta seção fornece uma lista das propriedades com suporte pela origem do Spark.
Spark como fonte
Para copiar dados do Spark, defina o tipo de fonte na atividade de cópia como SparkSource. As propriedades a seguir têm suporte na seção source da atividade de cópia:
Propriedade | Descrição | Obrigatório |
---|---|---|
tipo | A propriedade type da fonte da atividade de cópia deve ser definida como: SparkSource | Sim |
consulta | Utiliza a consulta SQL personalizada para ler os dados. Por exemplo: "SELECT * FROM MyTable" . |
Não (se "tableName" no conjunto de dados for especificado) |
Exemplo:
"activities":[
{
"name": "CopyFromSpark",
"type": "Copy",
"inputs": [
{
"referenceName": "<Spark input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SparkSource",
"query": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Mapeamento de tipo de dados para Spark
Quando você copia dados de e para o Spark, os seguintes mapeamentos de tipo de dados provisórios são usados dentro do serviço. Para saber mais sobre como a atividade Copy mapeia o tipo de dados e esquema de origem para o coletor, consulte Mapeamentos de tipo de dados e esquema.
Tipo de dados do Spark | Tipo de dados de serviço provisório (para a versão 2.0) | Tipo de dados de serviço provisório (para a versão 1.0) |
---|---|---|
Tipo Booleano | Boolean | Boolean |
ByteType | Sbyte | Int16 |
ShortType | Int16 | Int16 |
IntegerType | Int32 | Int32 |
LongType | Int64 | Int64 |
FloatType | Single | Single |
DoubleType | Double | Double |
DateType | Data e Hora | Data e Hora |
TimestampType | DateTimeOffset | Data e Hora |
StringType | Cadeia de caracteres | Cadeia de caracteres |
TipoBinário | Byte[] | Byte[] |
DecimalType | Decimal | Decimal Cadeia de caracteres (precisão > 28) |
ArrayType | Cadeia de caracteres | Cadeia de caracteres |
Tipo de Estrutura | Cadeia de caracteres | Cadeia de caracteres |
Tipo de Mapa | Cadeia de caracteres | Cadeia de caracteres |
TimestampNTZType | Data e Hora | Data e Hora |
YearMonthIntervalType (Tipo de Intervalo Ano-Mês) | Cadeia de caracteres | Não há suporte. |
DayTimeIntervalType | Cadeia de caracteres | Não há suporte. |
Pesquisar propriedades de atividade
Para saber detalhes sobre as propriedades, verifique Pesquisar atividade.
Ciclo de vida e atualização do conector do Spark
A tabela a seguir mostra a fase de lançamento e os registros de alterações para diferentes versões do conector Spark:
Versão | Estágio de lançamento | Log de alterações |
---|---|---|
Versão 1.0 | Fim do suporte anunciado | / |
Versão 2.0 | Versão GA disponível | • enableServerCertificateValidation é suportado. • O valor enableSSL padrão é true. • Para o tipo de autenticação WindowsAzureHDInsightService, o valor httpPath padrão é /sparkhive2 .• DecimalType é lido como tipo de dados decimal. • O tipo de dados TimestampType é interpretado como DateTimeOffset. • YearMonthIntervalType, DayTimeIntervalType são lidos como tipo de dados String. • trustedCertPath , useSystemTrustStore allowHostNameCNMismatch e allowSelfSignedServerCert não há suporte. • Não há suporte para SharkServer e SharkServer2. serverType • Não há suporte para Binário e SASL para thriftTransportProtocl . • Não há suporte para o tipo de autenticação de nome de usuário. |
Atualizar o conector do Spark da versão 1.0 para a versão 2.0
Na página Editar serviço vinculado , selecione 2.0 para a versão e configure o serviço vinculado, referindo-se às propriedades do serviço vinculado versão 2.0.
O mapeamento de tipo de dados para o serviço vinculado spark versão 2.0 é diferente do da versão 1.0. Para saber mais sobre o mapeamento de tipo de dados mais recente, consulte Mapeamento de tipo de dados para Spark.
Conteúdo relacionado
Para obter uma lista de armazenamentos de dados com suporte como coletores e fontes da atividade de cópia, confira os armazenamentos de dados com suporte.