Onyx

Onyx

Just a middle-aged programmer, Can do many things but not the most.

Dagster Schedules
dagster

Dagster Schedules

Schedules #Dagster จะมี scheduler ที่สามารถใช้สั่งงานตามช่วงเวลา Relevant [email protected]_schedule Decorator ตัวนี้จะใช้กำหนดให้ทำงานแบบรายวัน@hourly_schedule Decorator ตัวนี้จะใช้กำหนดให้ทำงานแบบรายวชั่วโมง@weekly_schedule Decorator ตัวนี้จะใช้กำหนดให้ทำงานแบบรายสัปดาห์@monthly_schedule Decorator ตัวนี้จะใช้กำหนดให้ทำงานแบบรายเดือน@schedule Decorator เป็

หา Process ที่น่าสงสัยใน Macos
Mac OSX

หา Process ที่น่าสงสัยใน Macos

บางครั้งเมื่อลองเข้าไปดู process ด้วย htop แล้วเจอ process แปลกๆ แล้วอยากลองดูว่า คืออะไร เอาชื่อ command ไปค้นหาใน google แล้วหาไม่เจอ htopลองใช้คำสั่ง ps -ax | grep {process-keyword}ตัวอย่างเช่น $ ps -ax | grep com.adobe 33793 ?? 0:00.11 /Library/PrivilegedHelperTools/com.

ติดตั้งและทดลองใช้งาน dagster
dagster

ติดตั้งและทดลองใช้งาน dagster

การใช้งาน Dagster ต้องมีการ config Dagster Instance ก่อน สำหรับ Storages ในการเก็บข้อมูล Run Storage, Event Storage และ Schedule Storage ซึ่งสามารถใช้งานได้กับ Sqlite DB, Postgres DB และ MySQL DB การใช้งานร่วมกับ Sqlite จะมีข้อจำกัดเรื่อง Assets page จะไม่

ติดตั้ง Postgres Sql บน Docker
Postgres

ติดตั้ง Postgres Sql บน Docker

หลังจากที่เราติดตั้ง Docker เรียบร้อยแล้ว $ docker run -d \ --name postgres \ -e POSTGRES_USER=root \ -e POSTGRES_PASSWORD=password \ -e PGDATA=/var/lib/postgresql/data/pgdata \ -v /{your-local-path}/data:/var/lib/postgresql/data \ -p 5432:5432 \ postgresdocker จะทำการติด Postgres เข้าไปใน Docker โดยมีรายละเอียดประมาณนี

Dagster Instance การกำหนดค่า config ใน dagster.yaml
dagster

Dagster Instance การกำหนดค่า config ใน dagster.yaml

OverviewDagsterInstance คือตัวกำหนดค่าที่ Dagster ต้องการ โดยจะ config ทำใน dagster.yaml ตัวอย่างเช่น ตำแหน่งที่จะจัดเก็บ history การรันที่ผ่านมาและบันทึกที่เกี่ยวข้อง การสตรีม raw logs จากฟังก์ชันการคำนวณของ solid วิธีจัดเก็บ local artifacts ในเครื่องและวิ

Dagster / Modes and Resources
dagster

Dagster / Modes and Resources

Resources จัดเตรียมวิธีในการจัดการ external APIs ร่วมกับ modes สามารถใช้ในสภาพแวดล้อมของการ execution ที่แตกต่างกันหลายแบบสำหรับ pipeline Relevant [email protected] ใช้ decorator เพื่อกำหนดว่าเป็น resources ตัว decorated function นี้คือการเรียก resource_fn โดยจะ return ResourceDefinitionResourceDefinition คือ Class สำหรั

Dagster: data orchestrator for machine learning, analytics, and ETL

Dagster: data orchestrator for machine learning, analytics, and ETL

Overview Dagster คือ เครื่องมือสำหรับจัดการ/ประสานงานข้อมูล สำหรับ machine learning, analytics,และ ETL ในแต่ละ Sections จะประกอบไปด้วย Overview: คำอธิบายของ conceptRelevant APIs: Index ของ top-level Dagster APIs ที่เกี่ยวข้องกับ concept.Examples: Easy-to-copy code snippets for the concept.Patterns: A list

Dagster / Solids and Pipelines
dagster

Dagster / Solids and Pipelines

# Solids and PipelinesSolids และ Pipelines คือการสร้าง blocks ของ Dagster code. ใช้สิ่งเหล่านี้เพื่อกำหนด orchestration graphs. ส่วนนี้ครอบคลุมถึงวิธีการกำหนดและใช้งานทั้ง solids และ pipelines SolidsSolids เป็นหน่วยหน้าที่ของงานใน Dagster ใน solid แต่ละ unit จะมีความรับผิดชอบคืออ่านข้

คำสั่งเพื่อสร้าง Python REST API ด้วย Serverless และ Lambda
serverless

คำสั่งเพื่อสร้าง Python REST API ด้วย Serverless และ Lambda

สร้างไดเร็กทอรีใหม่ ตามด้วยสร้าง package.json ไฟล์: $ mkdir my-flask-application && cd my-flask-application $ npm init -fหลังจาก inatall เรียบร้อยแล้ว ให้ไป inatall plugin อีก 2 ตัวที่จำเป็น ตัวแรกคือ serverless-wsgi plugin ตัวนี้ใช้เพื่อเป็นตัวสื่อสารกับ

Python Error Note: ModuleNotFoundError: No module named 'werkzeug._compat' กับ Flask 2.0.1

Python Error Note: ModuleNotFoundError: No module named 'werkzeug._compat' กับ Flask 2.0.1

ถ้าใช้ Lambda + Python 3.8 + Flask 2.0.1 แล้วเจอ error แบบด้านล่างนี้ เป็นเพราะโปรเจ็กต์ Flask, Werkzeug และ pallets อื่นๆ เพิ่งมีการอัปเดตครั้งใหญ่ โดยเลิกรองรับ python2 และลบโมดูล _compat และ AWS ยังไม่ได้แก้ไขปัญหาความสามารถนี้ [ERROR] ModuleNotFoundError: No module named

ต้องใช้ go หลาย version ทำไงดี
golang

ต้องใช้ go หลาย version ทำไงดี

ลองหาพวก version manager แล้วไปเจอ gvm เค้าบอกว่า GVM provides an interface to manage Go versions. รายละเอียดเข้าไปดูต่อได้ที่ https://github.com/moovweb/gvm การ install GVMbash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)แต่ถ้าใช้พวก

Python docstrings Formats

Python docstrings Formats

Python docstrings สามารถเขียนได้หลายรูปแบบมีให้เห็นได้ตามแหล่งต่างๆ อย่างไรก็ตาม รูปแบบที่ใช้หลักสำหรับ docstrings ดังต่อไปนี้ PEP-8PEP-8 คือ official python coding standard ที่ประกอบด้วยหัวข้อเกี่ยวกับเอกสาร ซึ่งอ้างถึง PEP-257 ตัวอย่าง Documentation Strings """Return

การหา IP Address ใน docker network
Docker

การหา IP Address ใน docker network

เมื่อเราสร้าง docker dev env หรือเมื่อเราใช้งาน docker หลายๆ ตัวพร้อมๆ กัน แล้วต้อการที่จะให้ แต่ละตัวสามารถติดต่อเข้าถึงกันได้ เราสามารถ ในตอนที่สร้าง network ให้ทำให้อยู่ในวงเดียวกัน จากนั้นให้คำสั่งนี้เพื่อหา IP Address ของ docker

ลองใช้ Apache Airflow
Airflow

ลองใช้ Apache Airflow

ช่วงที่ผ่านมาได้มีโอกาศ ทำงาน data มากขึ้น ทั้งการเอาข้อมูลจากหลายๆ แหล่งมาใช้ร่วมกัน แม้กระทั่ง การทำ sitemap ก่อนหน้านี้จะใช้วิธี cronjob แต่หลังจากทำงานมาซักพักแล้ว เจอกับปัญหา ถ้าต้องการเก็บ log หรือเข้าไปตรวจดูว่าไงระบบทำงานหรื

mac “chromedriver” cannot be opened because the developer cannot be verified.
Mac OSX

mac “chromedriver” cannot be opened because the developer cannot be verified.

Solution Open terminalNavigate to path where your chromedriver file is locatedExecute any one of the below commandsCommand1: xattr -d com.apple.quarantine <name-of-executable> Example /usr/local/Caskroom/chromedriver $ xattr -d com.apple.quarantine chromedriver (or) Command2: spctl --add --label 'Approved' <name-of-executable> Source: https://docwhat.org/upgrading-to-catalina

NextJs/Node/SASS: Conflicting css-loader
Node

NextJs/Node/SASS: Conflicting css-loader

ถ้าหากเจอปัญหาแบบนี้ Conflicting order between: css ./node_modules/css-loader??ref--6-2!./node_modules/sass-loader/lib/loader.js??ref--6-3!./node_modules/sass-resources-loader/lib/loader.js??ref--10!./components/Components/Card/ArticleCard/style.scssให้แก้โดยการ $ npm rebuild node-sass เป็นปัญหาที่เกิดจากการ Conflicting ของ sass ให้ rebuild ใหม่ จบ... ref: https:

Crontab (Cron Jobs) บน Linux
Ubuntu

Crontab (Cron Jobs) บน Linux

คำสั่งและ option ของ crontab มีดังนี้ #crontab filename การนำเอาคำสั่ง crontab เข้ามาจาก ไฟล์อื่น#crontab -e แก้ไข crontab ปัจจุบัน (ส่วนมากเราจะเพิ่มคำสั่งลงไปในนี้เลย)#crontab -l ดูคำสั่ง crontab ทั้งหมดที่มีอยู่#crontab -r ลบคำสั่ง crontab ที่มีทั