# \#python

**URL:** https://discuss.dataengineercafe.io/tag/python/17.md

[Latest](https://discuss.dataengineercafe.io/latest.md) · [Categories](https://discuss.dataengineercafe.io/categories.md) · [Tags](https://discuss.dataengineercafe.io/tags.md)

---

## [เครื่องมือ dbt Artifacts Parser เผื่อใครอยากดึงข้อมูลจาก dbt Artifacts](https://discuss.dataengineercafe.io/t/dbt-artifacts-parser-dbt-artifacts/545)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 1\
**Last updated:** [March 25, 2023, 7:28am UTC](https://discuss.dataengineercafe.io/t/dbt-artifacts-parser-dbt-artifacts/545 "2023-03-25T07:28:24Z")

</div>

ตอนแรกจะเขียนเอง แต่ดูท่าจะเปลืองพลังไปหน่อย :sweat\_smile: หาตัวช่วยดีกว่า แล้วไปเจอตัวนี้ครับ เผื่อใครอยากดึงข้อมูลจาก dbt artifacts อย่าง catalog.json หรือ run\_restuls.json ก็สามารถใช้ได้ ด้านล่างนี้เป็นโค้ดที่ผมลอ…

---

## [การจัดการ Python Dictionaries ช่วยลดเวลาเรื่องหาวิธีทำ Data Cleansing](https://discuss.dataengineercafe.io/t/python-dictionaries-data-cleansing/519)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [February 22, 2023, 10:37am UTC](https://discuss.dataengineercafe.io/t/python-dictionaries-data-cleansing/519 "2023-02-22T10:37:03Z")

</div>

ไปเจอมา เผื่อใครที่อยากจะทำ data cleansing กับ Python dictionaries เลย โดยที่ยังไม่ต้องถึงมือ Pandas

---

## [หลีกเลี่ยงการเขียน Top level Python Code ใน Airflow DAG](https://discuss.dataengineercafe.io/t/top-level-python-code-airflow-dag/431)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [October 8, 2022, 2:23am UTC](https://discuss.dataengineercafe.io/t/top-level-python-code-airflow-dag/431 "2022-10-08T02:23:15Z")

</div>

Practice หนึ่งใน Airflow คือการหลีกเลี่ยงการเขียน Top level Python Code ใน DAG เป็นเพราะเนื่องจากการทำงานของ scheduler ที่จะคอยมา parse ไฟล์ DAG ของเราอยู่เรื่อย ๆ ดังนั้นถ้าเรามี code อะไรก็ตามที่อยู่ข้างนอก task หรือ f…

---

## [Databricks JDBC connection](https://discuss.dataengineercafe.io/t/databricks-jdbc-connection/398)

<div class="topic-metadata">

**Author:** [@premsurawut](https://discuss.dataengineercafe.io/u/premsurawut)\
**Replies:** 4\
**Last updated:** [September 4, 2022, 10:07am UTC](https://discuss.dataengineercafe.io/t/databricks-jdbc-connection/398 "2022-09-04T10:07:44Z")

</div>

สวัสดีครับ มีเรื่องมารบกวนสอบถามครับ Pipeline situation: Azure Blob =\> Azure Databricks =\> Azure SQL Server …ไม่แน่ใจว่าเราสามารถใช้ Databricks ต่อ JDBC connection เพื่ออ่าน data จาก blob แล้วเขียนลงใน Azure SQL Serve…

---

## [เขียน Python อ่านข้อมูลจากไฟล์ XML](https://discuss.dataengineercafe.io/t/python-xml/400)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 1\
**Last updated:** [September 3, 2022, 7:20am UTC](https://discuss.dataengineercafe.io/t/python-xml/400 "2022-09-03T07:20:04Z")

</div>

ในสายงานข้อมูลของเรา เราต้องไปเชื่อมต่อกับระบบที่หลากหลายมาก มีทั้งใหม่ทั้งเก่า ซึ่งการเก็บข้อมูล หรือการส่งข้อมูลระหว่างกัน หลาย ๆ ระบบยังมีใช้ XML อยู่บ้าง ซึ่งตรงนี้พวกเราดู ๆ ไว้หน่อยก็ไม่เสียหายครับ อิอิ สมมุติว่าเ…

---

## [การ Save Data ด้วย pyspark หลังจาก drop duplicate](https://discuss.dataengineercafe.io/t/save-data-pyspark-drop-duplicate/328)

<div class="topic-metadata">

**Author:** [@premsurawut](https://discuss.dataengineercafe.io/u/premsurawut)\
**Replies:** 8\
**Last updated:** [July 9, 2022, 8:49am UTC](https://discuss.dataengineercafe.io/t/save-data-pyspark-drop-duplicate/328 "2022-07-09T08:49:54Z")

</div>

สวัสดีครับ อยากจะขอถาม use case นิดนึงครับ ผมเพิ่งจะเริ่มมาจัดการ data จริงจังหลังจากย้ายมาทำ Data engineer และเพิ่งเริ่มใช้ Spark and Databricks ครับ ในกรณีที่ อ่านข้อมูลที่อยู่ใน parquet format ซึ่งมี data duplicates …

---

## [วิธีอ่าน BigQuery table เข้า DuckDB ผ่าน BigQuery Storage Read API](https://discuss.dataengineercafe.io/t/bigquery-table-duckdb-bigquery-storage-read-api/326)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [July 8, 2022, 11:01am UTC](https://discuss.dataengineercafe.io/t/bigquery-table-duckdb-bigquery-storage-read-api/326 "2022-07-08T11:01:56Z")

</div>

วันนี้กำลังนึกถึงวิธีที่จะดึงข้อมูลจาก BigQuery เอามาทำ data tool สักตัวหนึ่ง แล้วบังเอิญเจอสิ่งนี้… รู้สึกว่ามันดีงามมากกกก ซึ่งผมชอบเจ้าเป็ด DuckDB :duck: นี่อยู่แล้วด้วย เขียนโค้ดสั้น ๆ ดึงข้อมูลจาก BigQuery Storag…

---

## [วิธี Filter ข้อมูลใน Python Dict เอาเฉพาะ Key ที่เราต้องการ](https://discuss.dataengineercafe.io/t/filter-python-dict-key/301)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 2\
**Last updated:** [June 20, 2022, 4:33am UTC](https://discuss.dataengineercafe.io/t/filter-python-dict-key/301 "2022-06-20T04:33:34Z")

</div>

อันนี้เหมือนจะใช้บ่อย ขอเอามาแปะไว้สักหน่อย บางทีข้อมูลที่เราดึงมามีข้อมูลเกินความจำเป็น แล้วเราอยากจะ filter ออกครับ โอเค สมมุติว่าเรามี Python dict ประมาณนี้ data = { "name": "Kan", "surname": "Ouivirach", …

---

## [พาเพื่อนๆมารู้จักกับ Feature Stores](https://discuss.dataengineercafe.io/t/feature-stores/255)

<div class="topic-metadata">

**Author:** [@BigDataRPG](https://discuss.dataengineercafe.io/u/BigDataRPG)\
**Replies:** 4\
**Last updated:** [May 24, 2022, 12:19pm UTC](https://discuss.dataengineercafe.io/t/feature-stores/255 "2022-05-24T12:19:03Z")

</div>

พาเพื่อนๆมารู้จักกับ Feature Stores เพราะ Model ML ต้องการ Features จินตนาการสิ ถ้าต้องทำงานกับ DS หลายสิบคน Features ของแต่ละคน นอกจากไม่เหมือนกันแล้ว ยังมีปริมาณที่เยอะอีกมากๆเลยด้วย การจัดเก็บยิ่งเป็น O(nmds) n …

---

## [Private key เจ้าปัญหา กับ env\_var ใน dbt](https://discuss.dataengineercafe.io/t/private-key-env-var-dbt/203)

<div class="topic-metadata">

**Author:** [@atb](https://discuss.dataengineercafe.io/u/atb)\
**Replies:** 0\
**Last updated:** [April 20, 2022, 10:07am UTC](https://discuss.dataengineercafe.io/t/private-key-env-var-dbt/203 "2022-04-20T10:07:37Z")

</div>

จากบล็อก วิธีใส่ Private Key หรือ Secret ที่มี Special Char ใน AWS Secrets Manager ที่พี่ @zkan เขียนไว้ จะเห็นได้ว่าเจ้า private key ชอบมีเรื่องมีราวให้ได้เห็นอยู่บ่อย ๆ การใช้ private key ผ่าน env\_var บน dbt ก็ม…

---

## [ชวนเล่น #30DaysOfStreamlit 🤓](https://discuss.dataengineercafe.io/t/30daysofstreamlit/154)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 1\
**Last updated:** [April 4, 2022, 1:54am UTC](https://discuss.dataengineercafe.io/t/30daysofstreamlit/154 "2022-04-04T01:54:55Z")

</div>

Streamlit เป็น open-source Python library เอาไว้สร้าง data app (หรือ web app) สำหรับโปรเจค data science กับ machine learning เราไม่จำเป็นต้องเขียน front-end เลย ลองเข้าไปดูตัวอย่างได้ที่ Gallery ได้ ตอนนี้เค้ามี challen…

---

## [มาลองเล่น Dagster กัน](https://discuss.dataengineercafe.io/t/dagster/151)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [April 2, 2022, 10:25am UTC](https://discuss.dataengineercafe.io/t/dagster/151 "2022-04-02T10:25:51Z")

</div>

Dagster ตามชื่อของมันเลยคือ data orchestrator สำหรับงานพวก machine learning, analytics และ ETL ซึ่งเป็นเครื่องมือที่ช่วยเรื่อง workflow management อีกตัวหนึ่งที่มาแรงไม่แพ้ Airflow เลยทีเดียวครับ รูปจาก https://docs.…

---

## [เล่น Spark บนเครื่อง Local โดยใช้ Jupyter Docker Stacks](https://discuss.dataengineercafe.io/t/spark-local-jupyter-docker-stacks/128)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [March 11, 2022, 1:45pm UTC](https://discuss.dataengineercafe.io/t/spark-local-jupyter-docker-stacks/128 "2022-03-11T13:45:52Z")

</div>

เวลาที่เราอยากจะลองเล่น Spark บนเครื่อง การที่จะเซตอัพขึ้นมาได้อาจจะลำบากหน่อยๆ ลองอ่านจากบทความ How to install PySpark and Jupyter Notebook in 3 Minutes ดูได้ จริงๆ แล้วมีวิธีง่ายกว่านั้น เราสามารถใช้ Jupyter Docker St…

---

## [Pandas.read\_csv มี options อะไรน่าสนใจบ้าง](https://discuss.dataengineercafe.io/t/pandas-read-csv-options/117)

<div class="topic-metadata">

**Author:** [@atb](https://discuss.dataengineercafe.io/u/atb)\
**Replies:** 1\
**Last updated:** [February 17, 2022, 4:56pm UTC](https://discuss.dataengineercafe.io/t/pandas-read-csv-options/117 "2022-02-17T16:56:33Z")

</div>

หากใช้ pandas library อยู่แล้ว จะพบว่า read\_csv เป็นฟังก์ชันที่ถูกใช้งานบ่อยมาก ใช้สำหรับอ่าน data จากไฟล์ .csv ให้อยู่ในรูปแบบของ DataFrame บ่อยครั้งเราจะใช้แค่ pandas.read\_csv(filepath) ก็เพียงพอแล้ว แต่ถ้าเราอยากแป…

---

## [ทำ Stream Processing โดยใช้ Apache Flink](https://discuss.dataengineercafe.io/t/stream-processing-apache-flink/67)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [December 12, 2021, 1:33pm UTC](https://discuss.dataengineercafe.io/t/stream-processing-apache-flink/67 "2021-12-12T13:33:22Z")

</div>

ไปรู้จัก Apache Flink กันครับ ขอบคุณวีดีโอจากคุณ suraphan laokondee มากครับผม :blush: ในวีดีโอกล่าวถึง PyFlink เป็น Python library ที่เอามาใช้ต่อเข้ากับ Flink ในวีดีโอ เค้าต่อ Twitter API ดึงข้อมูลเข้า Ka…

---

## [ยุบ Field รวมกัน โดยเลือกค่าที่ไม่ใช่ Null หรือ NaN ใน Pandas](https://discuss.dataengineercafe.io/t/field-null-nan-pandas/63)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 0\
**Last updated:** [December 8, 2021, 6:26am UTC](https://discuss.dataengineercafe.io/t/field-null-nan-pandas/63 "2021-12-08T06:26:10Z")

</div>

วันนี้ไปเจอเทคนิคในการยุบ field รวมกัน ให้เหลือ field เดียวครับ จาก 2 fields ที่มีค่าบ้างไม่มีบ้าง เช่น import numpy as np df = pd.DataFrame({ "foodstuff": \["apple-martini", "apple-pie", np.nan, np.nan, np.nan\], …

---

## [ใช้ Pendulum จัดการ Date Time ใน Python](https://discuss.dataengineercafe.io/t/pendulum-date-time-python/51)

<div class="topic-metadata">

**Author:** [@zkan](https://discuss.dataengineercafe.io/u/zkan)\
**Replies:** 1\
**Last updated:** [December 1, 2021, 7:16am UTC](https://discuss.dataengineercafe.io/t/pendulum-date-time-python/51 "2021-12-01T07:16:35Z")

</div>

เชื่อว่าทุกๆ คนที่ทำงานด้านข้อมูล หรือด้านพัฒนาซอฟต์แวร์ ก็จะต้องมีการจัดการข้อมูลพวกวันเวลา (datetime) อะไรพวกนี้กันอยู่ตลอดเนอะ Photo by Sonja Langford on Unsplash โพสต์นี้อยากจะมาแนะนำ Pendulum ครับ เป็น Python l…
