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
Data Factory em Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA incorporada e novas funcionalidades. Se és novo na integração de dados, começa pelo Fabric Data Factory. As cargas de trabalho existentes do ADF podem atualizar para o Fabric para aceder a novas capacidades em ciência de dados, análise em tempo real e relatórios.
Este artigo descreve como usar a Atividade de Cópia num pipeline do Azure Data Factory ou 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 1.0 está em fase de remoção. Recomenda-se atualizar o conector Spark da versão 1.0 para 2.0.
Capacidades suportadas
Este conector Spark é suportado para os seguintes recursos:
| Capacidades suportadas | IR |
|---|---|
| Atividade de cópia (fonte/-) | (1) (2) |
| Atividade de Pesquisa | (1) (2) |
(1) Runtime de integração Azure (2) Runtime de integração auto-hospedado
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 numa rede local, numa rede virtual Azure ou na Amazon Virtual Private Cloud, precisa de configurar um runtime de integração auto-hospedado para se ligar a ele.
Se o seu armazenamento de dados for um serviço de dados na cloud gerido, pode usar o Azure Integration Runtime. Se o acesso for restrito a IPs aprovados nas regras do firewall, pode adicionar IPs Azure Integration Runtime à lista de autorizações.
Também pode usar a funcionalidade managed virtual network integration runtime no Azure Data Factory para aceder à rede local sem 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 de cópia com um pipeline, você pode usar uma das seguintes ferramentas ou SDKs:
- Ferramenta Copiar dados
- Portal do Azure
- .NET SDK
- Python SDK
- Azure PowerShell
- API REST
- Modelo do Azure Resource Manager
Criar um serviço vinculado ao Spark usando a interface do usuário
Use os passos seguintes para criar um serviço ligado ao Spark na interface do portal do Azure.
Navegue até ao separador Gerir no seu espaço de trabalho Azure Data Factory ou Synapse e selecione Serviços Ligados, depois 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 |
| alojar | Endereço IP ou nome de host do servidor Spark | Sim |
| porta | A porta TCP que o servidor Spark usa para escutar conexões de cliente. Se te ligares ao Azure HDInsight, especifica 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 o armazenar de forma segura, ou referencia um segredo guardado em Azure Key Vault. | Não |
| httpCaminho | A URL parcial correspondente ao servidor Spark. Para o tipo de autenticação WindowsAzureHDInsightService, o valor padrão é /sparkhive2. |
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 para ser usado para se ligar ao armazenamento de dados. Saiba mais na seção Pré-requisitos . Se não for especificado, usa o Azure Integration Runtime 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 |
| alojar | Endereço IP ou nome de host do servidor Spark | Sim |
| porta | A porta TCP que o servidor Spark usa para escutar conexões de cliente. Se te ligares ao Azure HDInsight, especifica 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 o armazenar de forma segura, ou referencia um segredo guardado em Azure Key Vault. | 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 para ser usado para se ligar ao armazenamento de dados. Saiba mais na seção Pré-requisitos . Se não for especificado, usa o Azure Integration Runtime 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) |
| tabela | 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 String (precisão > 28) |
| 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.
Ciclo de vida e atualização do conector Spark
A tabela a seguir mostra o estágio de liberação e os logs de alteração para diferentes versões do conector Spark:
| Versão | Fase de lançamento | Registo de alterações |
|---|---|---|
| Versão 1.0 | Removed | Não aplicável. |
| Versão 2.0 | Versão GA disponível | • O enableServerCertificateValidation é suportado. • O valor padrão de enableSSL é true. • Para o tipo de autenticação WindowsAzureHDInsightService, o valor padrão de httpPath é /sparkhive2.• DecimalType é lido como tipo de dados decimal. • TimestampType é interpretado como o tipo de dados DateTimeOffset. • YearMonthIntervalType, DayTimeIntervalType são lidos como tipo de dados String. trustedCertPath• , useSystemTrustStoree allowHostNameCNMismatchallowSelfSignedServerCert não são suportados. • SharkServer e SharkServer2 não são suportados pelo serverType. • Binário e SASL não são suportados para thriftTransportProtocl. • O tipo de autenticação de nome de utilizador não é suportado. |
Atualize o conector 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 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.
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.