No Python, Pyspark é um módulo Spark usado para fornecer um tipo semelhante de processamento como o Spark usando o DataFrame. O método printSchema () é usado para exibir o esquema do quadro de dados Pyspark.
Ele retornará a estrutura semelhante a uma árvore e obterá o nome da coluna junto com o DateType
Sintaxe:
Quadro de dados.PrintSchema ()
Antes de ver isso, temos que criar um DataFrame com esquema. Pyspark fornece os métodos Structype () e Structfield () que são usados para definir as colunas no Pyspark Dataframe.
Usando esses métodos, podemos definir os nomes das colunas e os tipos de dados das colunas específicas.
Vamos discutir um por um
Structype ()
Este método é usado para definir a estrutura do quadro de dados Pyspark. Ele aceitará uma lista de tipos de dados, juntamente com nomes de colunas para o DataFrame especificado. Isso é conhecido como o esquema do DataFrame. Ele armazena uma coleção de campos
Structfield ()
Este método é usado dentro do método structtype () do pyspark dataframe. Ele aceitará nomes de colunas com o tipo de dados.
Sintaxe:
esquema = structtype ([
Structfield ("Coluna 1", Datatype, True/False),
Structfield ("Coluna 2", Datatype, True/False),
.. ,
Structfield ("Coluna N", Datatype, True/False)])
Onde o esquema se refere ao quadro de dados quando é criado
Parâmetros:
1. Structype aceita uma lista de Structfields em uma lista separada por uma vírgula
2. Structfield () adiciona colunas ao DataFrame, que leva os nomes das colunas como o primeiro parâmetro e o tipo de dados das colunas específicas como o segundo parâmetro.
Temos que usar os tipos de dados dos métodos que são importados do Pyspark.SQL.Módulo de tipos.
Os tipos de dados suportados são:
- Stringtype () - usado para armazenar valores de string
- Integertype () - usado para armazenar valores inteiros ou inteiros longos
- Floottype () - usado para armazenar valores de flutuação
- DoubleType () - usado para armazenar valores duplos
3. Valores booleanos como o terceiro parâmetro; Se for verdadeiro, o tipo de dados fornecido será usado; Caso contrário, não quando é falso.
Temos que passar este esquema para o método de dados de dados junto com dados.
Sintaxe:
CreatedAtAframe (dados, esquema = esquema)
Exemplo 1:
Neste exemplo, criamos dados dentro da lista que contém 5 linhas e 6 colunas, e estamos atribuindo nomes de colunas como rollno com o tipo de dados da string, um nome com o tipo de dados da string, idade com tipo inteiro, altura com um tipo de bóia , peso com número inteiro e endereço com o tipo de dados da string.
Finalmente, vamos exibir o quadro de dados usando o método show ().
#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#e importar tipos de estrutura e tipos de dados
de Pyspark.SQL.Tipos de importação estruttype, structfield, stringtype, integertype, floottype
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
estudantes = [['001', 'sravan', 23,5.79,67, 'Guntur'],
['002', 'ojaswi', 16,3.79,34, 'Hyd'],
['003', 'Gnanesh Chowdary', 7,2.79,17, 'Patna'],
['004', 'rohith', 9,3.69,28, 'Hyd'],
['005', 'Sridevi', 37,5.59,54, 'Hyd']]
#Define o StructType e Structfields
#para os nomes de colunas abaixo
esquema = structtype ([
Structfield ("rollno", stringtype (), true),
Structfield ("Nome", Stringtype (), True),
Structfield ("Age", Integertype (), verdadeiro),
Structfield ("Height", Floottype (), True),
Structfield ("Peso", Integertype (), True),
Structfield ("Endereço", Stringtype (), True)
]))
#Crie o DataFrame e adicione esquema ao DataFrame
df = spark_app.CreatedataFrame (estudantes, esquema = esquema)
#Display O DataFrame
df.mostrar()
Saída:
Exemplo 2:
Exiba o esquema em formato de árvore com o método PrintSchema ()
#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#e importar tipos de estrutura e tipos de dados
de Pyspark.SQL.Tipos de importação estruttype, structfield, stringtype, integertype, floottype
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
estudantes = [['001', 'sravan', 23,5.79,67, 'Guntur'],
['002', 'ojaswi', 16,3.79,34, 'Hyd'],
['003', 'Gnanesh Chowdary', 7,2.79,17, 'Patna'],
['004', 'rohith', 9,3.69,28, 'Hyd'],
['005', 'Sridevi', 37,5.59,54, 'Hyd']]
#Define o StructType e Structfields
#para os nomes de colunas abaixo
esquema = structtype ([
Structfield ("rollno", stringtype (), true),
Structfield ("Nome", Stringtype (), True),
Structfield ("Age", Integertype (), verdadeiro),
Structfield ("Height", Floottype (), True),
Structfield ("Peso", Integertype (), True),
Structfield ("Endereço", Stringtype (), True)
]))
#Crie o DataFrame e adicione esquema ao DataFrame
df = spark_app.CreatedataFrame (estudantes, esquema = esquema)
# Exiba o esquema em formato de árvore
df.PrintSchema ()
Saída: