Copiar dados do Spark usando o Azure Data FactoryCopy data from Spark using Azure Data Factory

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Este artigo descreve como usar a atividade de cópia no Azure Data Factory para copiar dados de e para o Spark.This article outlines how to use the Copy Activity in Azure Data Factory to copy data from Spark. Ele amplia o artigo Visão geral da atividade de cópia que apresenta uma visão geral da atividade de cópia.It builds on the copy activity overview article that presents a general overview of copy activity.

Funcionalidades com suporteSupported capabilities

Este conector do Spark tem suporte para as seguintes atividades:This Spark connector is supported for the following activities:

Você pode copiar dados do Spark para qualquer armazenamento de dados de coletor com suporte.You can copy data from Spark to any supported sink data store. 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.For a list of data stores that are supported as sources/sinks by the copy activity, see the Supported data stores table.

Azure Data Factory fornece um driver interno para habilitar a conectividade, portanto, não é necessário instalar manualmente qualquer driver usando esse conector.Azure Data Factory provides a built-in driver to enable connectivity, therefore you don't need to manually install any driver using this connector.

Pré-requisitosPrerequisites

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.If your data store is located inside an on-premises network, an Azure virtual network, or Amazon Virtual Private Cloud, you need to configure a self-hosted integration runtime to connect to it.

Por outro lado, se o armazenamento de dados for um serviço de dados de nuvem gerenciado, você poderá usar o Azure Integration Runtime.Alternatively, if your data store is a managed cloud data service, you can use 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.If the access is restricted to IPs that are approved in the firewall rules, you can add Azure Integration Runtime IPs into the allow list.

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.For more information about the network security mechanisms and options supported by Data Factory, see Data access strategies.

IntroduçãoGetting started

Para executar a atividade de Cópia com um pipeline, será possível usar as ferramentas ou os SDKs abaixo:To perform the Copy activity with a pipeline, you can use one of the following tools or SDKs:

As seções a seguir fornecem detalhes sobre as propriedades usadas para definir entidades do Data Factory específicas ao conector do Spark.The following sections provide details about properties that are used to define Data Factory entities specific to Spark connector.

Propriedades do serviço vinculadoLinked service properties

As propriedades a seguir têm suporte para o serviço vinculado do Spark:The following properties are supported for Spark linked service:

PropriedadeProperty DescriçãoDescription ObrigatórioRequired
typetype A propriedade type deve ser definida como: SparkThe type property must be set to: Spark SimYes
hosthost Endereço IP ou nome do host do servidor SparkIP address or host name of the Spark server SimYes
portaport A porta TCP usada pelo servidor Spark para ouvir conexões de cliente.The TCP port that the Spark server uses to listen for client connections. Se você conectar ao Microsoft Azure HDInsights, especifique a porta como 443.If you connect to Azure HDInsights, specify port as 443. SimYes
serverTypeserverType O tipo de servidor do Spark.The type of Spark server.
Valores permitidos são: SharkServer, SharkServer2, SparkThriftServerAllowed values are: SharkServer, SharkServer2, SparkThriftServer
NãoNo
thriftTransportProtocolthriftTransportProtocol O protocolo de transporte a ser usado na camada de Thrift.The transport protocol to use in the Thrift layer.
Os valores permitidos são: Binário, SASL, HTTPAllowed values are: Binary, SASL, HTTP
NãoNo
authenticationTypeauthenticationType O método de autenticação usado para acessar o servidor do Spark.The authentication method used to access the Spark server.
Valores permitidos são: Anônimo, Username, UsernameAndPassword, WindowsAzureHDInsightServiceAllowed values are: Anonymous, Username, UsernameAndPassword, WindowsAzureHDInsightService
SimYes
Nome de Usuáriousername O nome de usuário que você usa para acessar o servidor do Spark.The user name that you use to access Spark Server. NãoNo
passwordpassword A senha correspondente ao usuário.The password corresponding to the user. Marque este campo como uma SecureString para armazená-la com segurança no Data Factory ou faça referência a um segredo armazenado no Azure Key Vault.Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. NãoNo
httpPathhttpPath A URL parcial correspondente ao servidor do Spark.The partial URL corresponding to the Spark server. NãoNo
enableSslenableSsl Especifica se as conexões com o servidor são criptografadas usando TLS.Specifies whether the connections to the server are encrypted using TLS. O valor padrão é false.The default value is false. NãoNo
trustedCertPathtrustedCertPath O caminho completo do arquivo. pem que contém certificados de AC confiáveis para verificar o servidor ao se conectar via TLS.The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over TLS. Essa propriedade só pode ser definida ao usar TLS no IR auto-hospedado.This property can only be set when using TLS on self-hosted IR. O valor padrão é o arquivo de cacerts.pem instalado com o IR.The default value is the cacerts.pem file installed with the IR. NãoNo
useSystemTrustStoreuseSystemTrustStore 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.Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. O valor padrão é false.The default value is false. NãoNo
allowHostNameCNMismatchallowHostNameCNMismatch Especifica se deve ser necessário um nome de certificado TLS/SSL emitido pela autoridade de certificação para corresponder ao nome de host do servidor ao se conectar por TLS.Specifies whether to require a CA-issued TLS/SSL certificate name to match the host name of the server when connecting over TLS. O valor padrão é false.The default value is false. NãoNo
allowSelfSignedServerCertallowSelfSignedServerCert Especifica se deve permitir os certificados autoassinados do servidor.Specifies whether to allow self-signed certificates from the server. O valor padrão é false.The default value is false. NãoNo
connectViaconnectVia O Integration Runtime a ser usado para se conectar ao armazenamento de dados.The Integration Runtime to be used to connect to the data store. Saiba mais na seção Pré-requisitos.Learn more from Prerequisites section. Se não for especificado, ele usa o Integration Runtime padrão do Azure.If not specified, it uses the default Azure Integration Runtime. NãoNo

Exemplo:Example:

{
    "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 dadosDataset properties

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.For a full list of sections and properties available for defining datasets, see the datasets article. Esta seção fornece uma lista das propriedades com suporte pelo conjunto de dados do Spark.This section provides a list of properties supported by Spark dataset.

Para copiar dados do Spark, defina a propriedade type do conjunto de dados como SparkObject.To copy data from Spark, set the type property of the dataset to SparkObject. Há suporte para as seguintes propriedades:The following properties are supported:

PropriedadeProperty DescriçãoDescription ObrigatórioRequired
typetype A propriedade Type do conjunto de conjuntos deve ser definida como: sparkobjectThe type property of the dataset must be set to: SparkObject SimYes
esquemaschema Nome do esquema.Name of the schema. Não (se "query" na fonte da atividade for especificada)No (if "query" in activity source is specified)
tabelatable Nome da tabela.Name of the table. Não (se "query" na fonte da atividade for especificada)No (if "query" in activity source is specified)
tableNametableName Nome da tabela com esquema.Name of the table with schema. Essa propriedade é compatível com versões anteriores.This property is supported for backward compatibility. Use schema e table para uma nova carga de trabalho.Use schema and table for new workload. Não (se "query" na fonte da atividade for especificada)No (if "query" in activity source is specified)

ExemploExample

{
    "name": "SparkDataset",
    "properties": {
        "type": "SparkObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Spark linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Propriedades da atividade de cópiaCopy activity properties

Para obter uma lista completa das seções e propriedades disponíveis para definir atividades, confia o artigo Pipelines.For a full list of sections and properties available for defining activities, see the Pipelines article. Esta seção fornece uma lista das propriedades com suporte pela origem do Spark.This section provides a list of properties supported by Spark source.

Spark como fonteSpark as source

Para copiar dados do Spark, defina o tipo de fonte na atividade de cópia como SparkSource.To copy data from Spark, set the source type in the copy activity to SparkSource. As propriedades a seguir têm suporte na seção source da atividade de cópia:The following properties are supported in the copy activity source section:

PropriedadeProperty DescriçãoDescription ObrigatórioRequired
typetype A propriedade type da fonte da atividade de cópia deve ser definida como: SparkSourceThe type property of the copy activity source must be set to: SparkSource SimYes
Consultaquery Utiliza a consulta SQL personalizada para ler os dados.Use the custom SQL query to read data. Por exemplo: "SELECT * FROM MyTable".For example: "SELECT * FROM MyTable". Não (se "tableName" no conjunto de dados for especificado)No (if "tableName" in dataset is specified)

Exemplo:Example:

"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>"
            }
        }
    }
]

Pesquisar propriedades de atividadeLookup activity properties

Para saber detalhes sobre as propriedades, verifique Pesquisar atividade.To learn details about the properties, check Lookup activity.

Próximas etapasNext steps

Para obter uma lista de armazenamentos de dados com suporte como origens e coletores pela atividade de cópia no Azure Data Factory, consulte Armazenamentos de dados com suporte.For a list of data stores supported as sources and sinks by the copy activity in Azure Data Factory, see supported data stores.