Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
APLICA-SE A: Azure Data Factory
Azure Synapse Analytics
Sugestão
Experimente Data Factory no Microsoft Fabric, uma solução de análise completa para empresas. Microsoft Fabric abrange tudo, desde a movimentação de dados até à ciência de dados, análises em tempo real, inteligência empresarial e relatórios. Saiba como iniciar um novo teste gratuitamente!
Este artigo descreve como usar a Atividade de Cópia em um pipeline do Azure Data Factory ou do Synapse Analytics para copiar dados do Spark. Ele se baseia no artigo de visão geral da atividade de cópia que apresenta uma visão geral da atividade de cópia.
Importante
O conector Spark versão 2.0 oferece 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.
Capacidades suportadas
Este conector Spark é suportado para os seguintes recursos:
Capacidades suportadas | Imposto de Renda |
---|---|
Atividade de cópia (fonte/-) | (1) (2) |
Atividade de Pesquisa | (1) (2) |
(1) Infraestrutura de integração do Azure (2) Infraestrutura de integração auto-hospedada
Para obter uma lista de lojas de dados que são suportadas como fontes/destinos pela atividade de cópia, consulte a tabela Lojas de dados suportadas.
O serviço fornece um driver interno para habilitar a conectividade, portanto, você não precisa instalar manualmente nenhum driver usando esse conector.
Pré-requisitos
Se o seu armazenamento de dados estiver localizado dentro de uma rede no local, uma rede virtual do Azure ou uma Amazon Virtual Private Cloud, precisa configurar um ambiente de execução de integração auto-hospedado para se conectar a ele.
Se o seu armazenamento de dados for um serviço de dados de nuvem gerenciado, você poderá usar o Tempo de Execução de Integração do Azure. Se o acesso for restrito a IPs aprovados nas regras de firewall, você poderá adicionar IPs do Azure Integration Runtime à lista de permissões.
Você também pode usar a funcionalidade de runtime de integração de rede virtual gerida na Azure Data Factory para aceder à rede local sem necessidade de instalar e configurar um runtime de integração auto-hospedado.
Para obter mais informações sobre os mecanismos de segurança de rede e as opções suportadas pelo Data Factory, consulte Estratégias de acesso a dados.
Como Começar
Para executar a atividade Copiar com um pipeline, podes usar uma das seguintes ferramentas ou SDKs:
- Ferramenta de Copiar Dados
- O portal do Azure
- SDK .NET
- O SDK de Python
- Azure PowerShell
- A API REST
- O modelo do Azure Resource Manager
Criar um serviço vinculado ao Spark usando a interface do usuário
Use as etapas a seguir para criar um serviço vinculado ao Spark na interface do usuário do portal do Azure.
Navegue até a guia Gerenciar em seu espaço de trabalho do Azure Data Factory ou Synapse e selecione Serviços Vinculados e clique em Novo:
Procure Spark e selecione o conector Spark.
Configure os detalhes do serviço, teste a conexão e crie o novo serviço vinculado.
Detalhes de configuração do conector
As seções a seguir fornecem detalhes sobre as propriedades usadas para definir entidades do Data Factory específicas para o conector Spark.
Propriedades do serviço vinculado
O conector Spark agora suporta a versão 2.0. Consulte esta seção para atualizar a sua versão do conector Spark a partir da versão 1.0. Para obter os detalhes da propriedade, consulte as seções correspondentes.
Versão 2.0
As seguintes propriedades são suportadas para o serviço vinculado Spark 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 especificares. O valor é 2.0 . |
Sim |
anfitrião | Endereço IP ou nome de host do servidor Spark | Sim |
porto | A porta TCP que o servidor Spark usa para escutar conexões de cliente. Se você se conectar ao Azure HDInsight, especifique a porta como 443. | Sim |
Tipo de servidor | O tipo de servidor Spark. O valor permitido é: SparkThriftServer |
Não |
thriftTransportProtocol | O protocolo de transporte a ser usado na camada Thrift. O valor permitido é: HTTP |
Não |
tipo de autenticação | O método de autenticação usado para acessar o servidor Spark. Os valores permitidos são: Anonymous, UsernameAndPassword, WindowsAzureHDInsightService |
Sim |
nome de utilizador | O nome de usuário que você usa para acessar o Spark Server. | Não |
palavra-passe | A senha correspondente ao usuário. Marque este campo como um SecureString para armazená-lo com segurança ou faça referência a um segredo armazenado no Cofre de Chaves do Azure. | Não |
httpCaminho | A URL parcial correspondente ao servidor Spark. | Não |
habilitarSsl | Especifica se as conexões com o servidor são criptografadas usando TLS. O valor padrão é true. | Não |
ativarValidaçãoDeCertificadoDoServidor | Especifique se deseja habilitar a validação do certificado SSL do servidor quando você se conectar. Use sempre o Repositório de Confiança do Sistema. O valor padrão é true. |
Não |
conectarVia | O Integration Runtime a ser utilizado para estabelecer conexão ao repositório de dados. Saiba mais na seção Pré-requisitos . Se não for especificado, ele usará o Tempo de Execução de Integração do Azure padrão. | 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 seguintes propriedades são suportadas para o serviço vinculado Spark versão 1.0:
Propriedade | Descrição | Obrigatório |
---|---|---|
tipo | A propriedade type deve ser definida como: Spark | Sim |
anfitrião | Endereço IP ou nome de host do servidor Spark | Sim |
porto | A porta TCP que o servidor Spark usa para escutar conexões de cliente. Se você se conectar ao Azure HDInsight, especifique a porta como 443. | Sim |
Tipo de servidor | O tipo de servidor Spark. Os valores permitidos são: SharkServer, SharkServer2, SparkThriftServer |
Não |
thriftTransportProtocol | O protocolo de transporte a ser usado na camada Thrift. Os valores permitidos são: Binary, SASL, HTTP |
Não |
tipo de autenticação | O método de autenticação usado para acessar o servidor Spark. Os valores permitidos são: Anonymous, Username, UsernameAndPassword, WindowsAzureHDInsightService |
Sim |
nome de utilizador | O nome de usuário que você usa para acessar o Spark Server. | Não |
palavra-passe | A senha correspondente ao usuário. Marque este campo como um SecureString para armazená-lo com segurança ou faça referência a um segredo armazenado no Cofre de Chaves do Azure. | Não |
httpCaminho | A URL parcial correspondente ao servidor Spark. | Não |
habilitarSsl | Especifica se as conexões com o servidor são criptografadas usando TLS. O valor predefinido é false. | Não |
trustedCertPath | O caminho completo do arquivo .pem contendo certificados de CA confiáveis para verificar o servidor ao se conectar por TLS. Essa propriedade só pode ser definida ao usar TLS em IR auto-hospedado. O valor padrão é o arquivo cacerts.pem instalado com o IR. | Não |
utilizarORepositórioDeConfiançaDoSistema | Especifica se deve ser usado um certificado de autoridade (CA) do armazenamento de confiança do sistema ou de um arquivo PEM especificado. O valor predefinido é false. | Não |
permitirDesajusteNomeAnfitriãoCN | Especifica se um nome de certificado TLS/SSL emitido pela CA deve corresponder ao nome do host do servidor ao se conectar por TLS. O valor predefinido é false. | Não |
permitirCertificadoDeServidorAutoAssinado | Especifica se os certificados autoassinados do servidor devem ser permitidos. O valor predefinido é false. | Não |
conectarVia | O Integration Runtime a ser utilizado para estabelecer conexão ao repositório de dados. Saiba mais na seção Pré-requisitos . Se não for especificado, ele usará o Tempo de Execução de Integração do Azure padrão. | 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 de seções e propriedades disponíveis para definir conjuntos de dados, consulte o artigo sobre conjuntos de dados. Esta seção fornece uma lista de propriedades suportadas pelo conjunto de dados do Spark.
Para copiar dados do Spark, defina a propriedade type do conjunto de dados como SparkObject. As seguintes propriedades são suportadas:
Propriedade | Descrição | Obrigatório |
---|---|---|
tipo | A propriedade type do conjunto de dados deve ser definida como: SparkObject | Sim |
esquema | Nome do esquema. | Não (caso "consulta" esteja especificada na fonte da atividade) |
mesa | Nome da tabela. | Não (caso "consulta" esteja especificada na fonte da atividade) |
nome da tabela | Nome da tabela com esquema. Esta propriedade é suportada para compatibilidade com versões anteriores. Use schema e table para nova carga de trabalho. |
Não (caso "consulta" esteja especificada na fonte da atividade) |
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 de seções e propriedades disponíveis para definir atividades, consulte o artigo Pipelines . Esta seção fornece uma lista de propriedades suportadas pela fonte do Spark.
Spark como fonte
Para copiar dados do Spark, defina o tipo de origem na atividade de cópia como SparkSource. As seguintes propriedades são suportadas na seção de origem da atividade de cópia:
Propriedade | Descrição | Obrigatório |
---|---|---|
tipo | A propriedade type da fonte de atividade de cópia deve ser definida como: SparkSource | Sim |
consulta | Utilize uma consulta SQL personalizada para ler dados. Por exemplo: "SELECT * FROM MyTable" . |
Não (se "tableName" estiver especificado no conjunto de dados) |
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 o Spark
Quando você copia dados de e para o Spark, os seguintes mapeamentos de tipo de dados provisórios são usados no serviço. Para saber como a atividade de cópia mapeia o esquema de origem e o tipo de dados para o destino, consulte Mapeamentos de esquema e tipo de dados.
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 | Booleano | Booleano |
Tipo de Byte | Sbyte | Int16 |
Tipo curto | Int16 | Int16 |
Tipo inteiro | Int32 | Int32 |
Tipo Longo | Int64 | Int64 |
Tipo de flutuação | Solteiro | Solteiro |
Tipo Duplo | Duplo | Duplo |
Tipo de Data | Data/Hora | Data/Hora |
Tipo de carimbo de data/hora | DateTimeOffset | Data/Hora |
StringType | String | String |
Tipo Binário | Byte[] | Byte[] |
Tipo decimal | Decimal | Decimal |
Tipo de matriz | String | String |
Tipo de estrutura | String | String |
Tipo de mapa | String | String |
Carimbo de data/horaNTZTipo | Data/Hora | Data/Hora |
TipoDeIntervaloAnoMês | String | Não suportado. |
Tipo de Intervalo de Dia e Hora | String | Não suportado. |
Propriedades da atividade de consulta
Para obter detalhes sobre as propriedades, consulte Lookup activity.
Atualizar o conector Spark
Na página Editar serviço vinculado , selecione 2.0 para a versão e configure o serviço vinculado consultando as propriedades do serviço vinculado versão 2.0.
O mapeamento de tipo de dados para o serviço vinculado do Spark versão 2.0 é diferente daquele para a versão 1.0. Para saber o mapeamento de tipo de dados mais recente, consulte Mapeamento de tipo de dados para o Spark.
Diferenças entre o Spark versão 2.0 e a versão 1.0
O conector Spark versão 2.0 oferece novas funcionalidades e é compatível com a maioria dos recursos da versão 1.0. A tabela a seguir mostra as diferenças de recursos entre a versão 2.0 e a versão 1.0.
Versão 2.0 | Versão 1.0 |
---|---|
SharkServer e SharkServer2 não são suportados para serverType . |
Suporte SharkServer e SharkServer2 para serverType . |
Binário e SASL não são suportados para thriftTransportProtocl . |
Suporte binário e SASL para thriftTransportProtocl . |
O tipo de autenticação de nome de usuário não é suportado. | Suporte o tipo de autenticação de nome de utilizador. |
O valor padrão de enableSSL é true.
trustedCertPath , useSystemTrustStore e allowHostNameCNMismatch allowSelfSignedServerCert não são suportados. enableServerCertificateValidation está suportado. |
O valor padrão de enableSSL é false. Além disso, suporte trustedCertPath , useSystemTrustStore allowHostNameCNMismatch e allowSelfSignedServerCert . enableServerCertificateValidation não é suportado. |
Os mapeamentos seguintes são usados para converter tipos de dados do Spark em tipos de dados provisórios que o serviço utiliza internamente. TimestampType -> DateTimeOffset TipoIntervaloAnoMês -> Cadeia DayTimeIntervalType -> String |
Os mapeamentos seguintes são usados para converter tipos de dados do Spark em tipos de dados provisórios que o serviço utiliza internamente. TimestampType -> DateTime Outros mapeamentos suportados pela versão 2.0 listados à esquerda não são suportados pela versão 1.0. |
Conteúdo relacionado
Para obter uma lista de armazenamentos de dados suportados como fontes e destinos na atividade de cópia, consulte Armazenamentos de dados suportados.