[PYTHON] PySpark 1.5.2 + Elasticsearch 2.1.0 Installationsverfahren und Ausführung

Einführung

Umgebung

Spark-Installation

Auslassen. Spark 1.6 wurde heute veröffentlicht, aber mit 1.5.2.

Elasticsearch + Hadoop herunterladen

Einfach von der offiziellen Seite herunterladen und auspacken

$ wget http://download.elastic.co/hadoop/elasticsearch-hadoop-2.2.0-beta1.zip
$ unzip elasticsearch-hadoop-2.2.0-beta1.zip

Starten Sie pyspark + elastische Suche

/usr/local/share/spark/bin/pyspark --master local[4] --driver-class-path=elasticsearch-hadoop-2.2.0-beta1/dist/elasticsearch-spark_2.11-2.2.0-beta1.jar

RDD-Generierung

>>> conf = {"es.nodes" : "XXX.XXX.XXX.XXX:[port]", "es.resource" : "[index name]/[type]"}
>>> rdd = sc.newAPIHadoopRDD("org.elasticsearch.hadoop.mr.EsInputFormat","org.apache.hadoop.io.NullWritable", "org.elasticsearch.hadoop.mr.LinkedMapWritable", conf=conf)

Grundbetrieb

>>> rdd.first()
>>> rdd.count()
>>> rdd.filter(lambda s: 'aaa' in s).count()

Map / Reduce

#Zählen Sie, wie viele Datensätze namentlich vorhanden sind
counts = rdd.map(lambda item: item[1]["name"])
counts = counts.map(lambda ip: (ip, 1))
counts = counts.reduceByKey(lambda a, b: a+b)

#Lauf
>>> counts.collect()

In ES speichern

rdd.saveToEs('test/docs')

Ich war süchtig nach

<snip>
File "/usr/local/share/spark/python/lib/py4j-0.8.2.1-src.zip/py4j/protocol.py", line 300, in get_return_value
py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.newAPIHadoopRDD.
: org.elasticsearch.hadoop.rest.EsHadoopInvalidRequest: [GET] on [_nodes/http] failed; server[hostname/XXX.XXX.XXX.XXX:Ports] returned [400|Bad Request:]
<snip>

Referenz

Spark

Elasticsearch

Recommended Posts

PySpark 1.5.2 + Elasticsearch 2.1.0 Installationsverfahren und Ausführung
Informationen zu Fehlern bei der Installation und Ausführung von PyInstaller
Installationsverfahren für Pylearn 2
Installationsverfahren für PostgreSQL 10.0
Blockdiag-Installationsverfahren
[Ansible Installationsverfahren] Von der Installation bis zur Ausführung des Playbooks
AWS CLI-Installationsverfahren
Memo zur Installation der Django-Debug-Symbolleiste
Installation von Jupyter und Pandas
Installationsverfahren für die Anaconda3-Umgebung
Installationsverfahren für die Scrapy-Umgebung
[Python] Kapitel 01-02 Über Python (Ausführung und Installation der Entwicklungsumgebung)
Installationsverfahren für Python und Ansible mit einer bestimmten Version
Offline-Installationsverfahren für openpyxl
Installationsverfahren für Python CMS Mezzanine
Installationsverfahren für Python 3.6 [für Windows]
Python-Installation und grundlegende Grammatik
Django Installation und Funktionsprüfung
Probleme bei der Installation von Scrapy und Gegenmaßnahmen
Tomcat-Installations- und Autostart-Einstellungen
Quellinstallation und Installation von Python
Python (Python 3.7.7) Installation und grundlegende Grammatik
Erste Schritte mit Poetry Von der Installation über die Ausführung bis hin zur Versionsverwaltung
Installationsverfahren + Verwendung von "virtualenv" und "pythonz" in der Mountain Lion-Umgebung