Extrahera

Introduktion till datatekniker

Vincent Vankrunkelsven

Data Engineer, DataCamp

Att extrahera data: vad innebär det?

Diagram som visar enkel extraheringsfas

Introduktion till datatekniker

Extrahera från textfiler

Ostrukturerad

  • Vanlig text
  • T.ex. kapitel ur en bok

 

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 ....

Platta filer

  • Rad = post
  • Kolumn = attribut
  • T.ex. .tsv eller .csv

 

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
Introduktion till datatekniker

JSON

  • JavaScript Object Notation
  • Semistrukturerad
  • Atomär
    • number
    • string
    • boolean
    • null
  • Sammansatt
    • 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
Introduktion till datatekniker

Data på webben

Förfrågningar

Diagram som visar förfrågan-svar-modellen

Exempel

  1. Gå till Google
  2. Förfrågan till Googles server
  3. Google svarar med en webbsida
Introduktion till datatekniker

Data på webben via API:er

  • Skicka data i JSON-format
  • API: application programming interface
  • Exempel
    • 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': .... }
Introduktion till datatekniker

Data i databaser

Applikationsdatabaser

  • Transaktioner
  • Infogningar eller ändringar
  • OLTP
  • Radorienterad

Analytiska databaser

  • OLAP
  • Kolumnorienterad
Introduktion till datatekniker

Extrahering från databaser

Anslutningssträng/URI

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

Användning i 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)
Introduktion till datatekniker

Nu kör vi en övning!

Introduktion till datatekniker

Preparing Video For Download...