O que é o Apache Spark?

robot
Geração de resumo em curso

Apache Spark é um motor de análise open-source para big data. Ele mudou um pouco o jogo para organizações que lidam com cargas de trabalho massivas de dados. O Spark é rápido. Realmente rápido. Ele usa processamento em memória que o faz passar rapidamente por estruturas tradicionais—como 100 vezes mais rápido que o MapReduce para operações em memória. Coisas baseadas em disco? Ainda 10 vezes mais rápido.

Características Distintivas do Spark

O Spark oferece-lhe todo este ecossistema:

  • Velocidade: Motor em memória que processa dados a uma velocidade impressionante
  • Versatilidade: Faz todo o tipo de coisas—SQL, aprendizagem de máquina, stuff em tempo real, gráficos
  • Plataforma Unificada: Funciona bem com diferentes fontes de dados
  • Processamento Distribuído: Distribui o trabalho através de clusters para conjuntos de dados enormes
  • Bibliotecas Ricas: Tem o MLlib para aprendizado de máquina. Spark Streaming também. E GraphX para análises gráficas.

Dentro da Arquitetura do Spark

Os elementos principais do Apache Spark incluem:

  1. Spark Driver: Tem todos esses agendadores e gerentes que transformam seu código em trabalhos
  2. Executores: Estes realizam os cálculos reais
  3. Gestores de Cluster: Podem ser Independentes, YARN, seja o que for. Eles capturam nós de trabalho.
  4. Nódulos de Trabalho: Os servidores que fazem o trabalho pesado

UDFs PySpark: Tornando o Spark Seu Próprio

O Spark permite que você o estenda com Funções Definidas pelo Usuário. Coisas bem interessantes. Essas UDFs em PySpark permitem que você crie lógica personalizada quando as funções integradas não são suficientes.

Crie uma UDF como esta:

python from pyspark.sql.functions import udf from pyspark.sql.types import StringType

Defina uma função Python

def convert_case(text): return text.upper() if text else None

Registar como UDF

upper_case_udf = udf(convert_case, StringType())

Aplicar ao DataFrame

df = df.withColumn("upper_text", upper_case_udf(df.text_column))

As UDFs não são perfeitas. Elas são mais lentas do que as internas devido a questões de serialização. Talvez experimente UDFs vetorizadas se a velocidade for importante. Use-as com cuidado.

Ajustando o Spark com spark-defaults.conf

Você pode controlar o Spark através deste arquivo spark-defaults.conf. É apenas pares de propriedade-valor:

spark.master=yarn spark.executor.memory=4g spark.driver.memory=2g spark.executor.cores=2 spark.sql.shuffle.partitions=200

Um bom ajuste parece envolver coisas de memória. As configurações de partição também. A coleta de lixo pode ter muita importância. As opções de serialização podem ajudar no desempenho.

O Spark continua a evoluir. É grande no mundo dos dados. Não é perfeito, mas é bastante importante.

Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • Comentar
  • Republicar
  • Partilhar
Comentar
0/400
Nenhum comentário
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)