Tablo olmayan verileri çıkarmak

Python ile ETL ve ELT

Jake Roach

Data Engineer

Tablo olmayan verileri çıkarmak

ETL boru hattında vurgulanan extract bileşeni.

Python ile ETL ve ELT

Tablo olmayan veri türleri

Üretilen ve tüketilen verilerin çoğu yapılandırılmamış veridir

  • Metin
  • Ses
  • Görsel
  • Video
  • Mekansal
  • IoT

Dönüşümden geçen yapılandırılmamış veri kaynakları.

1 https://mitsloan.mit.edu/ideas-made-to-matter/tapping-power-unstructured-data
Python ile ETL ve ELT

API'ler ve JSON verileriyle çalışma

API (Application Programming Interface)

  • Veri kaynaklarının üzerinde çalışan yazılım
  • Veritabanıyla doğrudan etkileşimi engeller

$$

Bir veri mühendisi API kullanarak bir veritabanıyla etkileşiyor.

JSON (JavaScript Object Notation)

  • Anahtar-değer çiftleri
  • Sabit bir şema yok
  • Görünüm ve kullanım dictionary'lere benzer
{
    "key": "value",
    ...
    "open": 0.121875
}
Python ile ETL ve ELT

pandas ile JSON dosyaları okuma

{
    "timestamps": [863703000, 863789400, ...],
    "open": [0.121875, 0.098438, ...],
    "close": [...],
    "volume": [...]
}

.read_json() fonksiyonunu kullan

# Read in a JSON file in the format above
raw_stock_data = pd.read_json("raw_stock_data.json", orient="columns")
1 https://pandas.pydata.org/docs/reference/api/pandas.read_json.html
Python ile ETL ve ELT

İç içe veya yapılandırılmamış JSON verisi

Veri her zaman DataFrame'e hazır olmaz

  • İç içe nesneler
  • Değişken "şema"
{
    "863703000": {
        "volume": 1443120000,
        "price": {
            "close": 0.09791,
            "open": 0.12187
        }
    }, 
    "863789400": {
        ...
    }, ...
}
Python ile ETL ve ELT

json ile JSON dosyaları okuma

import json

with open("raw_stock_data.json", "r") as file:
    # Load the file into a dictionary
    raw_stock_data = json.load(file)

# Confirm the type of the raw_stock_data variable
print(type(raw_stock_data))
<class 'dict'>
Python ile ETL ve ELT

Hadi pratik yapalım!

Python ile ETL ve ELT

Preparing Video For Download...