Die Extraktion

Einführung in das Data Engineering

Vincent Vankrunkelsven

Data Engineer, DataCamp

Daten extrahieren: Was bedeutet das?

Diagramm, das die einfache Extract-Phase darstellt

Einführung in das Data Engineering

Auszug aus Textdateien

{{1}}Unstrukturiert

Einfacher Text

Call me Ishmael. Some years ago, never 
mind how long precisely, having little or
no money in my purse, and nothing particular
to interest me on shore, I thought ....

{{4}}Flat Files

Zeile = Datensatz

Year,Make,Model,Price
1997,Ford,E350,3000.00
1999,Chevy,"Venture Extended Edition",4900.00
1999,Chevy,"Venture Extended Edition",5000.00
1996,Jeep,Grand Cherokee,4799.00
Einführung in das Data Engineering

JSON

JavaScript-Objektnotation

  • number
  • string
  • boolean
  • null
  • array
  • object
{
  "an_object": {
    "nested": [
      "one",
      "two",
      "three",
      {
        "key": "four"
      }
    ]
  }
}
import json

result = json.loads('{"key_1": "value_1", "key_2":"value_2"}') print(result["key_1"])
value_1
Einführung in das Data Engineering

Daten im Internet

{{1}}Anfragen

Diagramm, das das Request-Response-Modell darstellt

Beispiel

{{4}}Google aufrufen {{5}}Anfrage an den Google-Server {{6}}Google antwortet mit einer Webseite

Einführung in das Data Engineering

Daten im Web über APIs

Daten im JSON-Format senden

  • GitHub-API
{ "login": "datacamp", "type": "Organization", "created_at": "2013-05-14T13:01:20Z" }

Hackernews-API

import requests

response = requests.get("https://hacker-news.firebaseio.com/v0/item/16222426.json") print(response.json())
{'by': 'neis', 'descendants': 0, 'id': 16222426, 'score': 17, 'time': 1516800333, 'title': .... }
Einführung in das Data Engineering

Daten in Datenbanken

{{1}}Anwendungsdatenbanken

Transaktionen

{{6}}Analytische Datenbanken

OLAP

Einführung in das Data Engineering

Extraktion aus Datenbanken

{{1}}Verbindungszeichenfolge/URI

postgresql://[user[:password]@][host][:port]

{{3}}Verwendung in Python

import sqlalchemy
connection_uri = "postgresql://repl:password@localhost:5432/pagila" 
db_engine = sqlalchemy.create_engine(connection_uri)

import pandas as pd pd.read_sql("SELECT * FROM customer", db_engine)
Einführung in das Data Engineering

Lass uns üben!

Einführung in das Data Engineering

Preparing Video For Download...