Tablo olmayan verileri çıkarma

Python ile ETL ve ELT

Jake Roach

Data Engineer

Tablo olmayan verileri çıkarma

Çıkarma bileşeni vurgulanmış ETL hattı.

Python ile ETL ve ELT

Tablo olmayan veri türleri

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

  • Metin
  • Ses
  • Görsel
  • Video
  • Uzamsal
  • 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 ve JSON verisiyle çalışma

API (Uygulama Programlama Arayüzü)

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

$$

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

JSON (JavaScript Object Notation)

  • Anahtar-değer çiftleri
  • Sabit şema yok
  • dict sözlüklere benzer görünüm
{
    "key": "value",
    ...
    "open": 0.121875
}
Python ile ETL ve ELT

pandas ile JSON dosyalarını okuma

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

.read_json() fonksiyonunu kullanın

# 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 değildir

  • İç 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ını 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...