

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á.

# Fontes de dados personalizadas
<a name="feature-store-feature-processor-data-sources-custom"></a>

Nesta página, descreveremos como criar uma classe de fonte de dados personalizada e mostraremos alguns exemplos de uso. Com fontes de dados personalizadas, você pode usar as APIs fornecidas pelo SageMaker AI SDK for Python (Boto3) da mesma forma como se estivesse usando fontes de dados fornecidas pela Amazon Feature Store. SageMaker 

Para usar uma fonte de dados personalizada para transformar e ingerir dados em um grupo de atributos usando o Processamento de atributos, você precisará estender a classe `PySparkDataSource` com os seguintes membros e funções da classe:
+ `data_source_name` (str): um nome arbitrário para a fonte de dados. Por exemplo, Amazon Redshift, Snowflake ou um ARN do Catálogo Glue.
+ `data_source_unique_id` (str): um identificador exclusivo que se refere ao recurso específico que está sendo acessado. Por exemplo, nome da tabela, ARN da tabela DDB, prefixo Amazon S3. Todo o uso do mesmo `data_source_unique_id` em fontes de dados personalizadas será associado à mesma fonte de dados na visualização de linhagem. A linhagem inclui informações sobre o código de execução de um fluxo de trabalho de processamento de atributos, quais fontes de dados foram usadas e como elas são ingeridas no grupo de atributos ou no atributo. Para obter informações sobre a visualização da linhagem de um grupo de atributos no **Studio**, consulte [Visualizar a linhagem a partir do console](feature-store-use-with-studio.md#feature-store-view-feature-processor-pipeline-lineage-studio).
+ `read_data` (func): um método usado para se conectar ao processador de atributos. Retorna um estrutura de dados do Spark. Para obter exemplos, consulte [Exemplos de fontes de dados personalizadas](feature-store-feature-processor-data-sources-custom-examples.md).

Ambos `data_source_name` `data_source_unique_id` são usados para identificar de forma exclusiva sua entidade de linhagem. Veja a seguir um exemplo de uma classe de fonte de dados personalizada chamada `CustomDataSource`.

```
from sagemaker.feature_store.feature_processor import PySparkDataSource
from pyspark.sql import DataFrame

class CustomDataSource(PySparkDataSource):
    
    data_source_name = "{{custom-data-source-name}}"
    data_source_unique_id = "{{custom-data-source-id}}"
    
    def read_data(self, parameter, spark) -> DataFrame:
        {{your own code here to read data into a Spark dataframe}}
        return dataframe
```