Spark of BigData: Introducción al motor informático Spark, descarga, estrategia detallada de la secuela de casos clásicos

 Spark of BigData: Introducción al motor de computación Spark, descarga, estrategia detallada de casos clásicos

contenido

Introducción a la chispa

1. Tres características principales de Spark

Descarga de chispa

El caso clásico de Spark

1, recuento de palabras

2, Estimación de Pi

3, búsqueda de texto

4、Predicción con regresión logística


Introducción a la chispa

Apache Spark es un motor informático rápido y general         diseñado para el procesamiento de datos a gran escala . Spark es un marco paralelo general similar a Hadoop MapReduce de código abierto de UC Berkeley AMP lab (AMP Lab de la Universidad de California, Berkeley). Spark tiene las ventajas de Hadoop MapReduce, pero a diferencia de MapReduce, los resultados de salida intermedios de Job se pueden guardar en Por lo tanto, Spark es más adecuado para los algoritmos de MapReduce que requieren iteración, como la minería de datos y el aprendizaje automático.
        Spark es un entorno informático de clúster de código abierto similar a Hadoop, pero existen algunas diferencias entre los dos que hacen que Spark sea superior para ciertas cargas de trabajo, en otras palabras, Spark permite Además de poder proporcionar consultas interactivas, también puede optimizar las cargas de trabajo iterativas. .
        Spark se implementa en el lenguaje Scala, que utiliza Scala como marco de aplicación. A diferencia de Hadoop, Spark y Scala están estrechamente integrados, donde Scala puede manipular conjuntos de datos distribuidos con la misma facilidad que los objetos de colección nativos.
        Aunque Spark se creó para admitir trabajos iterativos en conjuntos de datos distribuidos, en realidad es un complemento de Hadoop y puede ejecutarse en paralelo en el sistema de archivos de Hadoop. Este comportamiento se admite a través de un marco de agrupación en clústeres de terceros denominado Mesos. Spark fue desarrollado por UC Berkeley AMP Lab (Laboratorio de algoritmos, máquinas y personas) para crear aplicaciones de análisis de datos a gran escala y de baja latencia.

1. Tres características principales de Spark

  • Los desarrolladores de aplicaciones de Spark pueden centrarse en el cálculo que debe realizar la aplicación : la API de alto nivel elimina la preocupación por el clúster en sí, y el desarrollador de aplicaciones de Spark puede centrarse en el cálculo que debe realizar la aplicación.
  • Spark es más rápido : Spark es rápido y admite computación interactiva y algoritmos complejos. Computación en memoria, Spark es 100 veces más rápido que Hadoop. Se logra un alto rendimiento para datos por lotes y de transmisión mediante un programador DAG de última generación, un optimizador de consultas y un motor de ejecución física.
  • Spark es fácil de usar : escribe aplicaciones rápidamente en Java, Scala, Python, R y SQL. Spark proporciona más de 80 operadores avanzados. Es un motor de propósito general que se puede usar para completar varias operaciones, incluidas consultas SQL, procesamiento de texto, aprendizaje automático, etc. Antes de la aparición de Spark, generalmente necesitamos aprender varios motores para hacer frente a estos requisitos, respectivamente.

Descarga de chispa

Dirección de descarga : Descargas | Apache Spark

El caso clásico de Spark

Recomendado : Ejemplos | Apache Spark

1, recuento de palabras

text_file = sc.textFile("hdfs://...")
counts = text_file.flatMap(lambda line: line.split(" ")) \
             .map(lambda word: (word, 1)) \
             .reduceByKey(lambda a, b: a + b)
counts.saveAsTextFile("hdfs://...")

2, Estimación de Pi

def inside(p):
    x, y = random.random(), random.random()
    return x*x + y*y < 1

count = sc.parallelize(xrange(0, NUM_SAMPLES)) \
             .filter(inside).count()
print "Pi is roughly %f" % (4.0 * count / NUM_SAMPLES)

3, búsqueda de texto

textFile = sc.textFile("hdfs://...")

# Creates a DataFrame having a single column named "line"
df = textFile.map(lambda r: Row(r)).toDF(["line"])
errors = df.filter(col("line").like("%ERROR%"))
# Counts all the errors
errors.count()
# Counts errors mentioning MySQL
errors.filter(col("line").like("%MySQL%")).count()
# Fetches the MySQL errors as an array of strings
errors.filter(col("line").like("%MySQL%")).collect()

4、Predicción con regresión logística

# Every record of this DataFrame contains the label and
# features represented by a vector.
df = sqlContext.createDataFrame(data, ["label", "features"])

# Set parameters for the algorithm.
# Here, we limit the number of iterations to 10.
lr = LogisticRegression(maxIter=10)

# Fit the model to the data.
model = lr.fit(df)

# Given a dataset, predict each point's label, and show the results.
model.transform(df).show()

Supongo que te gusta

Origin blog.csdn.net/qq_41185868/article/details/124395039
Recomendado
Clasificación