Nhật ký

Thiết kế Pipeline Dự báo cho Môi trường Production

Rami Krispin

Senior Manager, Data Science and Engineering

Nhật ký pipeline

Ghi nhật ký

  • Siêu dữ liệu
  • Kiểm thử hợp lệ
  • Trạng thái
  • Hiệu năng
Thiết kế Pipeline Dự báo cho Môi trường Production

Nhật ký pipeline

Ghi nhật ký

  • Siêu dữ liệu
  • Kiểm thử hợp lệ
  • Trạng thái
  • Hiệu năng

Chức năng

  • Khả năng quan sát
  • Gỡ lỗi
  • Quyết định theo vai trò
Thiết kế Pipeline Dự báo cho Môi trường Production

Thiết lập nhật ký

  • Thiết lập lược đồ nhật ký
  • Xử lý các kịch bản:
    • Không có dữ liệu mới
    • Kết quả kiểm thử
  • Ghi nối nhật ký
Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Kiểm tra tác vụ API

import etl.eia_etl as ee

log = ee.Log()
facet = {'respondent': 'US48', 'type': 'D'}
log.create_log(facets = facets)

Lược đồ nhật ký

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Kiểm tra tác vụ API

import etl.eia_etl as ee

log = ee.Log()
facet = {'respondent': 'US48', 'type': 'D'}
log.create_log(facets = facets)

Lược đồ nhật ký

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Kiểm tra tác vụ API

import etl.eia_etl as ee

log = ee.Log()
facet = {'respondent': 'US48', 'type': 'D'}
log.create_log(facets = facets)

Lược đồ nhật ký

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Kiểm tra tác vụ API

import etl.eia_etl as ee

log = ee.Log()
facet = {'respondent': 'US48', 'type': 'D'}
log.create_log(facets = facets)

Lược đồ nhật ký

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Kiểm tra tác vụ API

import etl.eia_etl as ee

log = ee.Log()
facet = {'respondent': 'US48', 'type': 'D'}
log.create_log(facets = facets)

Lược đồ nhật ký

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Kiểm tra tác vụ API

import etl.eia_etl as ee

log = ee.Log()
facet = {'respondent': 'US48', 'type': 'D'}
log.create_log(facets = facets)

Lược đồ nhật ký

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Kiểm tra tác vụ API

import etl.eia_etl as ee

log = ee.Log()
facet = {'respondent': 'US48', 'type': 'D'}
log.create_log(facets = facets)

Lược đồ nhật ký

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Tác vụ trạng thái API

meta = ee.get_metadata(api_key = api_key,
api_path = api_meta_path, 
meta_path= log_path, 
facets = facets, 
offset = 22, window = 336)

Trạng thái API

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Tác vụ trạng thái dữ liệu

meta = ee.get_metadata(api_key = api_key,
api_path = api_meta_path, 
meta_path= log_path, 
facets = facets, 
offset = 22, window = 336)

Trạng thái API

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Tác vụ kiểm thử hợp lệ

if not meta.updates_available:
  log.no_updates()

Trạng thái API

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Tác vụ kiểm thử hợp lệ

Trạng thái API

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Tác vụ làm mới dữ liệu

get = ea.eia_get(api_key=api_key, 
    api_path= api_data_path, 
    data = "value", facets = facets, 
    start = meta.start, 
    end = meta.api_end_offset)

Đầu ra dữ liệu

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Tác vụ làm mới dữ liệu thất bại

log.failure()
Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Tác vụ kiểm tra dữ liệu

test = ee.Validation(data = get.data,  
tbl_name= "get request", 
label = "validation",
parameters=get.parameters,initial= False,
warning=0.10, error=0, critical=0)
schema_refresh = pb.Schema(
    columns=[
        ("index", "datetime64[ns]"),   
        ("respondent", "object"),
        ("respondent-name", "object"),
        ("type", "object"),
        ("type-name", "object"),
        ("value", "int64"),
        ("value-units", "object")
    ])

test.add_schema(schema = schema_refresh)
Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Tác vụ kiểm tra dữ liệu

Tóm tắt kiểm thử dữ liệu

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Tác vụ kiểm thử thất bại

log.failure()
Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Tác vụ nối thêm dữ liệu

if log.log["status"]:
  print("Appending the data")
  df = ee.AppendData()
  df.append_data(data_path = data_path, 
    new_data = get.data,save = True,
    schema = schema_append, 
    parameters = get.parameters)
  print(df.validation)
  if df.status and df.save:
    log.log["update"] = True
  else:
    log.log["update"] = False
Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Bảng nhật ký ETL

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Bảng nhật ký ETL

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Bảng nhật ký ETL

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký ETL

Bảng nhật ký ETL

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký dự báo

Tác vụ làm mới dự báo

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký dự báo

Tác vụ chấm điểm dự báo

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký dự báo

Bảng nhật ký dự báo

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký dự báo

Bảng nhật ký dự báo

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký dự báo

Bảng nhật ký dự báo

Thiết kế Pipeline Dự báo cho Môi trường Production

Quy trình nhật ký dự báo

Bảng nhật ký dự báo

Thiết kế Pipeline Dự báo cho Môi trường Production

Đến lúc thực hành!

Thiết kế Pipeline Dự báo cho Môi trường Production

Preparing Video For Download...