Referência de Operadores de Função de Tabela
O operador de função de tabela fornece uma lista de funções de tabela incorporadas que você pode usar em um fluxo de dados para retornar dados na forma de tabelas.
Consulte Operador de Função de Tabela.
Veja uma lista das funções de tabela incorporadas suportadas pelo operador de função de tabela.
Persiste e armazena em cache um conjunto de dados de acordo com o armazenamento de memória fornecido level
.
Retorna um novo conjunto de dados no conjunto de dados distribuído resiliente (RDD) armazenado em cache.
Parâmetro | Descrição |
---|---|
level |
O armazenamento de memória a ser usado:
|
Calcula uma tabela de frequência ou de contingência por par a partir de valores distintos das duas colunas fornecidas.
O número de valores distintos para cada coluna deve ser menor que 1e4.
Retorna um dataframe que contém a tabela de contingência. Na tabela de contingência:
- O nome da primeira coluna é
col1_col2
, em quecol1
é a primeira coluna ecol2
é a segunda antes da transformação. A primeira coluna de cada linha são os valores distintos decol1
. - Os outros nomes de coluna são os valores distintos de
col2
. - As contagens são retornadas como o tipo
long
. - Pares sem ocorrências recebem zero como contagem.
- O número máximo de pares diferentes de zero é 1e6.
- Os elementos nulos são substituídos por
null
.
Parâmetro | Descrição |
---|---|
col1 |
Nome da primeira coluna. Consulte a nota após esta tabela para saber as limitações. Itens distintos de |
col2 |
Nome da segunda coluna. Consulte a nota após esta tabela para saber as limitações. Itens distintos de |
Somente os seguintes caracteres são permitidos em um nome de coluna:
- letras minúsculas e maiúsculas
a-z
A-Z
- números
0-9
- sublinhado
_
Exemplo
Suponha que col1
seja age
e col2
seja salary
.
Antes da transformação:
+---+------+
|age|salary|
+---+------+
|1 |100 |
|1 |200 |
|2 |100 |
|2 |100 |
|2 |300 |
|3 |200 |
|3 |300 |
+---+------+
Após a transformação:
+----------+---+---+---+
|age_salary|100|200|300|
+----------+---+---+---+
|2 |2 |0 |1 |
|1 |1 |1 |0 |
|3 |0 |1 |1 |
+----------+---+---+---+
Gera um cubo multidimensional de todas as combinações possíveis usando a lista de colunas fornecida e os cálculos nas expressões de função agregada fornecidas.
As seguintes funções agregadas são suportadas nas expressões:
AVG
COUNT
MEAN
MAX
MIN
SUM
Retorna um dataframe após a transformação do cubo.
Parâmetro | Descrição |
---|---|
cubeColumns |
A lista de colunas, separadas por vírgulas, pela qual o cubo multidimensional será gerado. |
aggExpressions |
As expressões de função de agregação a serem executadas nas colunas. Por exemplo: |
Exemplo
Antes da transformação:
+----------+-----+-------+------+---+
|department|group|region |salary|age|
+----------+-----+-------+------+---+
|Eng |A |local |1000 |10 |
|Art |B |foreign|2000 |11 |
|Sport |C |local |1500 |13 |
|Eng |A |foreign|800 |19 |
|Art |A |foreign|3000 |30 |
|Eng |E |foreign|1000 |21 |
|Art |D |local |1000 |32 |
|Sport |C |local |1000 |28 |
+----------+-----+-------+------+---+
Se cubeColumns
for department, region
e aggExpressions
for salary -> avg, age -> max
(calcular o salário médio e a idade máxima), o cubo após a transformação será:
+----------+-------+-----------------+--------+
|department|region |avg(salary) |max(age)|
+----------+-------+-----------------+--------+
|Eng |foreign|900.0 |21 |
|Sport |null |1250.0 |28 |
|Art |null |2000.0 |32 |
|Eng |null |933.3333333333334|21 |
|null |local |1125.0 |32 |
|Art |foreign|2500.0 |30 |
|null |foreign|1700.0 |30 |
|Eng |local |1000.0 |10 |
|null |null |1412.5 |32 |
|Sport |local |1250.0 |28 |
|Art |local |1000.0 |32 |
+----------+-------+-----------------+--------+
Gera dados sintéticos usando o formato de arquivo e o conteúdo fornecidos. Os formatos aceitos são:
- CSV
- JSON
Retorna uma entidade de dados. A origem de dados sintéticos pode ser usada em testes de unidade de pipeline em que dados reais não são usados ou movidos.
Parâmetro | Descrição |
---|---|
format |
O tipo de arquivo. Os valores suportados são:
|
content |
O conteúdo do arquivo para o formato fornecido. |
Exemplo
Um exemplo de conteúdo CSV:
co1,co2,co3
1,B,3
A,2,C
Resultado da geração de dados:
+---+---+---+
|co1|co2|co3|
+---+---+---+
|1 |B |3 |
+---+---+---+
|A |2 |C |
+---+---+---+
Localiza duplicatas na(s) lista(s) de colunas fornecida(s) e retorna um novo conjunto de dados com as linhas duplicadas removidas.
Parâmetro | Descrição |
---|---|
columns |
Um nome de coluna ou uma lista de nomes de colunas separados por vírgula. |
Exemplo
Antes da transformação:
+---+---+
|a |b |
+---+---+
|1 |2 |
|3 |4 |
|1 |3 |
|2 |4 |
+---+---+
Se columns
for a
, o conjunto de dados após a transformação será:
+---+---+
|a |b |
+---+---+
|1 |2 |
|3 |4 |
|2 |4 |
+---+---+
Localiza itens frequentes na coluna ou lista de colunas especificada usando a frequência mínima especificada.
O algoritmo de contagem frequente de elementos proposto por Karl et al. é usado para encontrar itens frequentes. Falsos positivos são possíveis.
Retorna um dataframe com uma matriz de itens frequentes para cada coluna.
Parâmetro | Descrição |
---|---|
freqItems |
Um nome de coluna ou uma lista separada por vírgulas de nomes de coluna para os quais você deseja localizar itens frequentes. |
support |
Frequência mínima para que um item seja considerado frequente. O valor deve ser maior que 1e-4 (valor decimal de Por exemplo, |
Exemplo
Antes da transformação:
+-------+--------------+
|user_id|favorite_fruit|
+-------+--------------+
| 1| apple|
| 2| banana|
| 3| apple|
| 4| orange|
| 5| banana|
| 6| banana|
| 7| apple|
+-------+--------------+
Se freqItems
for favorite_fruit
e support
for 0.6
, o dataframe retornado após a transformação será:
+------------------------+
|favorite_fruit_freqItems|
+------------------------+
| [banana]|
+------------------------+
Remove linhas que contêm valores nulos ou NaN na(s) coluna(s) especificada(s) na lista.
Retorna um dataframe que exclui as linhas.
Parâmetro | Descrição |
---|---|
how |
Como determinar se uma linha deve ser eliminada. Os valores suportados são:
O parâmetro |
cols |
Um nome de coluna ou uma lista de nomes de colunas separados por vírgula. |
minNonNulls |
O número mínimo de valores não nulos e não NaN que uma linha pode conter. Elimina as linhas que contêm menos do que o mínimo especificado. O parâmetro |
Exemplo
Antes da transformação:
+----+-------+----+
|id |name |age |
+----+-------+----+
|1 |Alice |25 |
|2 |null |28 |
|null|Bob |null|
|4 |Charlie|30 |
+----+-------+----+
Se how
for any
e cols
for name
, o dataframe retornado após a transformação será:
+----+-------+----+
|id |name |age |
+----+-------+----+
|1 |Alice |25 |
|null|Bob |null|
|4 |Charlie|30 |
+----+-------+----+
Quando você usa o parâmetro how
com o valor all
, uma linha só é eliminada se todos os seus valores forem nulos. Por exemplo, antes da transformação:
+----+--------+----+
| id| name| age|
+----+--------+----+
| 1|John Doe| 30|
| 2| null|null|
| 3|Jane Doe| 25|
| 4|Jake Doe|null|
|null| null|null|
+----+--------+----+
Após a transformação:
+---+--------+----+
| id| name| age|
+---+--------+----+
| 1|John Doe| 30|
| 2| null|null|
| 3|Jane Doe| 25|
| 4|Jake Doe|null|
+---+--------+----+
Substitui valores nulos e retorna um dataframe usando os valores substituídos.
Parâmetro | Descrição |
---|---|
replacement |
O mapa de chave/valor a ser usado para substituir valores nulos. A chave é um nome de coluna. O valor é um valor substituto. A chave aponta para o valor de substituição. Por exemplo: Um valor substituto é convertido no tipo de dados da coluna. Um valor de substituição deve ser do seguinte tipo:
|
Exemplo
Antes da transformação:
+----+-------+----+
|id |name |age |
+----+-------+----+
|1 |Alice |25 |
|2 |null |28 |
|null|Bob |null|
|4 |Charlie|30 |
+----+-------+----+
Se o mapa de chave/valor for o seguinte:
id -> 3
name -> unknown
age -> 10
Após a transformação:
+---+-------+---+
|id |name |age|
+---+-------+---+
|1 |Alice |25 |
|2 |unknown|28 |
|3 |Bob |10 |
|4 |Charlie|30 |
+---+-------+---+
Substitui um valor por outro valor na(s) coluna(s) fornecida(s) por chaves correspondentes no mapa de chave e valor de substituição fornecido.
Retorna um novo dataframe que contém a transformação substituída.
Parâmetro | Descrição |
---|---|
cols |
Um nome de coluna ou uma lista de nomes de colunas separados por vírgulas nos quais os valores de substituição serão aplicados. Se |
replacement |
O mapa de chave/valor substituto a ser usado. A chave é um valor a ser substituído. O valor é o valor de substituição. O valor do mapa pode ter nulos. A chave aponta para o valor de substituição. Por exemplo: A chave e o par de valores de substituição devem ter o mesmo tipo. Somente os seguintes tipos são suportados:
|
Exemplo
Antes da transformação:
+----+-------+----+
|id |name |age |
+----+-------+----+
|1 |Alice |25 |
|2 |null |28 |
|null|Bob |null|
|4 |Charlie|30 |
+----+-------+----+
Se cols
for name
e replacement
for Alice -> Tom
, o dataframe após a transformação será:
+----+-------+----+
|id |name |age |
+----+-------+----+
|1 |Tom |25 |
|2 |null |28 |
|null|Bob |null|
|4 |Charlie|30 |
+----+-------+----+
Divide um conjunto de dados pelas colunas fornecidas no número especificado de partições.
Retorna um novo conjunto de dados particionado por hash. O número exato de partição, conforme especificado, é retornado.
Parâmetro | Descrição |
---|---|
partitionColumns |
Um nome de coluna ou uma lista de nomes de coluna separados por vírgula pelos quais o conjunto de dados é particionado. |
numberOfPartitions |
O número de partições a serem criadas. |
Gera um rollup multidimensional de combinações possíveis usando a lista de colunas fornecida e os cálculos nas expressões de função agregada fornecidas.
As seguintes funções agregadas são suportadas nas expressões:
AVG
COUNT
MEAN
MAX
MIN
SUM
Retorna um dataframe após a transformação de acúmulo.
Parâmetro | Descrição |
---|---|
rollupColumns |
A lista de colunas, separadas por vírgulas, pela qual gerar o acúmulo multidimensional. |
aggExpressions |
As expressões de função de agregação a serem executadas nas colunas. Por exemplo: |
Exemplo
Antes da transformação:
+----------+-----+-------+------+---+
|department|group|region |salary|age|
+----------+-----+-------+------+---+
|Eng |A |local |1000 |10 |
|Art |B |foreign|2000 |11 |
|Sport |C |local |1500 |13 |
|Eng |A |foreign|800 |19 |
|Art |A |foreign|3000 |30 |
|Eng |E |foreign|1000 |21 |
|Art |D |local |1000 |32 |
|Sport |C |local |1000 |28 |
+----------+-----+-------+------+---+
Se rollupColumns
for department, region
e aggExpressions
for salary -> avg, age -> max
(calcular o salário médio e a idade máxima), o acúmulo após a transformação será:
+----------+-------+-----------------+--------+
|department|region |avg(salary) |max(age)|
+----------+-------+-----------------+--------+
|Eng |foreign|900.0 |21 |
|Sport |null |1250.0 |28 |
|Art |null |2000.0 |32 |
|Eng |null |933.3333333333334|21 |
|Art |foreign|2500.0 |30 |
|Eng |local |1000.0 |10 |
|null |null |1412.5 |32 |
|Sport |local |1250.0 |28 |
|Art |local |1000.0 |32 |
+----------+-------+-----------------+--------+
Executa consultas SQL do Spark em dados de entrada, criando primeiro views temporárias usando os nomes de tabela fornecidos.
Parâmetro | Descrição |
---|---|
SQL |
A instrução SQL ou o script a ser executado. Exemplo: |
tableName |
Um nome de tabela ou uma lista separada por vírgulas de nomes de tabela pelos quais o Spark cria tabelas temporárias. Exemplo: |
Gera uma amostra estratificada sem substituição com base na fração de amostragem fornecida para cada estrato.
Retorna um novo dataframe que representa a amostra estratificada.
Parâmetro | Descrição |
---|---|
strata_col |
A coluna que define os estratos. |
fractions |
A fracção de amostragem para cada estrato, de Por exemplo, Se uma fração não for especificada, zero será assumido. |
sample_size |
Se |
seed |
Use qualquer número aleatório em |
Exemplo
Antes da transformação:
+---+-----+
|key|value|
+---+-----+
| 1| 1|
| 1| 2|
| 2| 1|
| 2| 1|
| 2| 3|
| 3| 2|
| 3| 3|
+---+-----+
Se strata_col
for key
e fractions
for o seguinte:
1 -> 1.0, 3 -> 0.5
Após a transformação:
+---+-----+
|key|value|
+---+-----+
| 1| 1|
| 1| 2|
| 3| 2|
+---+-----+
Calcula as estatísticas fornecidas para colunas numéricas e de string.
Se nenhuma estatística for fornecida, todas as seguintes estatísticas serão calculadas:
COUNT
MEAN
STDDEV
MIN
- quartis aproximados (percentis em 25%, 50% e 75%)
MAX
Parâmetro | Descrição |
---|---|
statistics |
Uma lista de estatísticas separada por vírgulas. Os valores suportados são:
Exemplo: |
Exemplo
Antes da transformação:
+----------+------+-----------------+--------+
|department|gender|avg(salary) |max(age)|
+----------+------+-----------------+--------+
|Eng |female|900.0 |21 |
|Sport |null |1250.0 |28 |
|Art |null |2000.0 |32 |
|Eng |null |933.3333333333334|21 |
|Art |female|2500.0 |30 |
|Eng |male |1000.0 |10 |
|null |null |1412.5 |32 |
|Sport |male |1250.0 |28 |
|Art |male |1000.0 |32 |
+----------+------+-----------------+--------+
Suponha que statistics
seja count, mean, stddev, min, 27%, 41%, 95%, max
.
Após a transformação:
+-------+----------+-----+------+----------------+----------------+
|summary|department|group|gender|salary |age |
+-------+----------+-----+------+----------------+----------------+
|count |8 |8 |8 |8 |8 |
|mean |null |null |null |1412.5 |20.5 |
|stddev |null |null |null |749.166203188585|8.76682056718072|
|min |Art |A |female|800 |10 |
|27% |null |null |null |1000 |13 |
|41% |null |null |null |1000 |19 |
|95% |null |null |null |3000 |32 |
|max |Sport |E |male |3000 |32 |
+-------+----------+-----+------+----------------+----------------+