

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 o SDK de SageMaker IA para Python ( APIs Boto3) fornecido 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
```