ETL Pipeline für Twitter-Daten

Diese Workflow automatisiert den Prozess des Datenimports von Twitter in eine Datenbank, analysiert die Sentiment-Score und sendet Benachrichtigungen auf Slack.

ETL Pipeline für Twitter-Daten

Die Website nutzt die Wordpress-Infrastruktur.

Server: Unser Server befindet sich in einem Unternehmen mit Sitz in Deutschland. Er hat eine hohe und schnelle Internetverbindung. Es gibt eine Generatorunterstützung für ununterbrochenen Strom.

Schritt-für-Schritt-Anleitung zur ETL-Pipeline

1. Cron

Name: Cron

Typ: n8n-nodes-base.cron

Zweck: Dieser Node plant die Ausführung des Workflows. Er ist so konfiguriert, dass er täglich um 06:00 Uhr ausgelöst wird.

Einstellungen:
triggerTimes: Spezifiziert, dass der Trigger täglich um 6 Uhr ausgelöst wird.

2. Twitter

Name: Twitter

Typ: n8n-nodes-base.twitter

Zweck: Dieser Node sucht nach Tweets mit dem Hashtag #OnThisDay. Er holt die neuesten Tweets, um sie zu analysieren.

Einstellungen:
limit: 3 (maximal 3 Tweets sind erlaubt).
operation: search (Durchsuchen).
searchText: =#OnThisDay (Hashtag für die Suche).
credentials: twitterOAuth1Api: Dies erfordert API-Zugangsdaten zu Twitter.

3. MongoDB

Name: MongoDB

Typ: n8n-nodes-base.mongoDb

Zweck: Speichert die abgerufenen Tweets in einer MongoDB-Datenbank.

Einstellungen:
operation: insert (Einfügen).
collection: tweets (Ziel-Sammlung in der Datenbank).
fields: text (das Textfeld des Tweets, das gespeichert wird).
credentials: mongoDb: Zugangsdaten zur MongoDB.

4. Google Cloud Natural Language

Name: Google Cloud Natural Language

Typ: n8n-nodes-base.googleCloudNaturalLanguage

Zweck: Analysiert den Sentiment-Bewertung von Tweets, die in MongoDB gespeichert sind.

Einstellungen:
content: ={{$node[„MongoDB“].json[„text“]}} (Text des Tweets wird analysiert).
credentials: googleCloudNaturalLanguageOAuth2Api: API-Zugangsdaten für Google Cloud.

5. Set

Name: Set

Typ: n8n-nodes-base.set

Zweck: Setzt die Werte für den Score und die Magnitude des Sentiments, um sie später zu verwenden.

Einstellungen:
values:
  – score: ={{$json[„documentSentiment“][„score“]}}
  – magnitude: ={{$json[„documentSentiment“][„magnitude“]}}
  – text: ={{$node[„Twitter“].json[„text“]}} (Speichert den Text des Tweets).

6. Postgres

Name: Postgres

Typ: n8n-nodes-base.postgres

Zweck: Speichert die analysierten Tweets einschließlich ihrer Sentiment-Bewertung in einer PostgreSQL-Datenbank.

Einstellungen:
table: tweets (Ziel-Tabelle in der Datenbank).
columns: text, score, magnitude (Spalten, die in die Tabelle eingefügt werden).
returnFields: =* (alle Felder zurückgeben).
credentials: postgres: Zugangsdaten zur PostgreSQL.

7. IF

Name: IF

Typ: n8n-nodes-base.if

Zweck: Überprüft, ob der Sentiment Score größer als ein bestimmter Wert ist, um zu entscheiden, ob eine Slack-Nachricht gesendet werden soll.

Einstellungen:
conditions:
  – number:
    – value1: ={{$json[„score“]}}
    – operation: larger (größer).

8. Slack

Name: Slack

Typ: n8n-nodes-base.slack

Zweck: Sendet eine Benachrichtigung über neue Tweets mit ihrer Sentiment-Analyse an einen bestimmten Slack-Kanal.

Einstellungen:
text: =🐦 NEUER TWEET mit Sentiment-Score {{$json[„score“]}} und Magnitude {{$json[„magnitude“]}} ⬇️
{{$json[„text“]}} (Formatierter Text für die Nachricht).
channel: tweets (Slack-Kanal für die Benachrichtigung).
credentials: slackApi: Zugangsdaten für Slack.

9. NoOp

Name: NoOp

Typ: n8n-nodes-base.noOp

Zweck: Eine Art Platzhalter, der nichts tut, wenn die Bedingung im IF-Node nicht erfüllt ist.

Einstellungen: Es sind keine spezifischen Einstellungen erforderlich.

Ergebnis

Diese ETL-Pipeline ermöglicht das Sammeln, Speichern und Analysieren von Tweets, während sie gleichzeitig die Benutzer über relevante Informationen benachrichtigt. Mit dieser Automatisierung können Benutzer wertvolle Einblicke in öffentliche Meinungen und Trends gewinnen, ohne manuelle Datenverarbeitung vornehmen zu müssen.

Download Link: Hier herunterladen

Facebook
Twitter
LinkedIn

Andere Projekte