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:
Spark Driver: Tem todos esses agendadores e gerentes que transformam seu código em trabalhos
Executores: Estes realizam os cálculos reais
Gestores de Cluster: Podem ser Independentes, YARN, seja o que for. Eles capturam nós de trabalho.
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
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:
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.
O que é o Apache Spark?
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:
Dentro da Arquitetura do Spark
Os elementos principais do Apache Spark incluem:
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.