{"id":6764,"date":"2026-07-12T02:08:07","date_gmt":"2026-07-12T10:08:07","guid":{"rendered":"https:\/\/www.gudusoft.com\/duckdb-data-lineage\/"},"modified":"2026-07-12T02:08:07","modified_gmt":"2026-07-12T10:08:07","slug":"duckdb-data-lineage","status":"publish","type":"page","link":"https:\/\/www.gudusoft.com\/ko\/duckdb-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b3%84%eb%b3%b4\/","title":{"rendered":"DuckDB \ub370\uc774\ud130 \uacc4\ubcf4: \ud504\ub85c\uc138\uc2a4 \ub0b4 \ubd84\uc11d\uc744 \uc704\ud55c \uc5f4 \uc218\uc900 \uacc4\ubcf4"},"content":{"rendered":"<p><strong>DuckDB \ub370\uc774\ud130 \uacc4\ubcf4<\/strong> \uc774\ub294 DuckDB SQL\uc5d0\uc11c \ub370\uc774\ud130\uac00 \uc774\ub3d9\ud558\ub294 \ubc29\uc2dd\uc744 \uc5f4 \uc218\uc900\uc5d0\uc11c \ubcf4\uc5ec\uc8fc\ub294 \uc9c0\ub3c4\uc785\ub2c8\ub2e4. \uc989, \uac01 \ud30c\uc0dd \ud14c\uc774\ube14\uc5d0 \uc5b4\ub5a4 Parquet \ud30c\uc77c\uacfc \uc18c\uc2a4 \ud14c\uc774\ube14\uc774 \uc81c\uacf5\ub418\ub294\uc9c0, \uadf8\ub9ac\uace0 \uc5b4\ub5a4 \uc870\uc778, \ud615\ubcc0\ud658, \ud544\ud130 \ubc0f \uc9d1\uacc4\uac00 \uc0ac\uc6a9\ub418\ub294\uc9c0\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4. <strong>Gudu SQLFlow<\/strong> \uc774 \ub3c4\uad6c\ub294 \uc804\uc6a9 DuckDB \ubc29\uc5b8 \ud30c\uc11c\ub97c \uc0ac\uc6a9\ud558\uc5ec DuckDB \uc2a4\ud06c\ub9bd\ud2b8\ub97c \ubd84\uc11d\ud558\uace0 \ucffc\ub9ac\ub97c \uc2e4\ud589\ud558\uac70\ub098 \ub370\uc774\ud130\ub97c \uac74\ub4dc\ub9ac\uc9c0 \uc54a\uace0\ub3c4 \ub300\ud654\ud615 \uacc4\ubcf4\ub3c4\ub97c \uc790\ub3d9\uc73c\ub85c \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull has-background is-layout-constrained\" style=\"background-color:#eef7fb;padding-top:24px;padding-bottom:24px\"><div class=\"wp-block-group__inner-container\">\n\n<p><strong>\uc9c0\uae08 \ubc14\ub85c \uc2dc\ub3c4\ud574 \ubcf4\uc138\uc694:<\/strong> DuckDB \ucffc\ub9ac\ub97c \ubd99\uc5ec\ub123\uc73c\uc138\uc694 <a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=duckdb-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">\ubb34\ub8cc \uc628\ub77c\uc778 SQL \uacc4\ubcf4 \uc2dc\uac01\ud654 \ub3c4\uad6c<\/a>DuckDB \ubc29\uc5b8\uc744 \uc120\ud0dd\ud558\uba74 \uba87 \ucd08 \ub9cc\uc5d0 \uc5f4 \uc218\uc900\uc758 \uacc4\ubcf4\ub3c4\ub97c \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uac1c\uc778 \uc0ac\uc6a9\uc790\ub97c \uc704\ud55c \ubb34\ub8cc \uc694\uae08\uc81c\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">DuckDB \ud30c\uc774\ud504\ub77c\uc778\uc5d0 \uc9c4\uc815\ud55c \uacc4\ubcf4 \ucd94\uc801 \uae30\ub2a5\uc774 \ud544\uc694\ud55c \uc774\uc720<\/h2>\n\n\n\n<p>DuckDB\ub294 \uc870\uc6a9\ud788 \uc911\uc694\ud55c \ub370\uc774\ud130 \uc778\ud504\ub77c\ub85c \uc790\ub9ac\ub9e4\uae40\ud588\uc2b5\ub2c8\ub2e4. \ub370\uc774\ud130 \ubcc0\ud658 \uacc4\uce35\uc744 \uc6b4\uc601\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. <code>dbt-\ub355DB<\/code> \ud504\ub85c\uc81d\ud2b8, \ub85c\uceec \ubd84\uc11d, \uadf8\ub9ac\uace0 \ub098\uc911\uc5d0 \ub370\uc774\ud130 \uc6e8\uc5b4\ud558\uc6b0\uc2a4\ub85c \uc804\uc1a1\ub418\ub294 \ubd84\uc11d\uc744 \uc9c0\uc6d0\ud558\uace0, \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uacfc \ub178\ud2b8\ubd81\uc5d0 \ub0b4\uc7a5\ub418\uc5b4 \uc788\uc73c\uba70, \uc810\uc810 \ub354 Parquet \ub370\uc774\ud130 \ub808\uc774\ud06c\uc758 \ucef4\ud4e8\ud305 \uc5d4\uc9c4 \uc5ed\ud560\uc744 \uc218\ud589\ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ud30c\uc774\ud504\ub77c\uc778\uc758 SQL\uc740 \ub370\uc774\ud130 \uc6e8\uc5b4\ud558\uc6b0\uc2a4 SQL\uacfc \ub3d9\uc77c\ud55c \uc885\ub958\uc758 \uacb0\uc815\uc744 \ub0b4\ub9bd\ub2c8\ub2e4. \uc989, \ub9e4\ucd9c\uc744 \uacc4\uc0b0\ud558\uace0, \uace0\uac1d\uc744 \ud544\ud130\ub9c1\ud558\uace0, \ub300\uc2dc\ubcf4\ub4dc\uac00 \uc77d\ub294 \ud14c\uc774\ube14\uc744 \uad6c\ucd95\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ud558\uc9c0\ub9cc DuckDB \ud504\ub85c\uc81d\ud2b8\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \ub370\uc774\ud130 \uc6e8\uc5b4\ud558\uc6b0\uc2a4\ucc98\ub7fc \uc5c4\uaca9\ud55c \ub370\uc774\ud130 \uacc4\ubcf4 \uad00\ub9ac\ub97c \ubc1b\uc9c0 \ubabb\ud569\ub2c8\ub2e4. \uc5ec\uae30\uc5d0\ub294 \uad6c\uc870\uc801\uc778 \uc774\uc720\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ub300\ubd80\ubd84\uc758 \ub370\uc774\ud130 \uacc4\ubcf4 \uad00\ub9ac \ub3c4\uad6c\ub294 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc11c\ubc84\ub97c \uc804\uc81c\ub85c \ud558\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. \ub7f0\ud0c0\uc784 \ub85c\uadf8 \uae30\ubc18 \uacc4\ubcf4 \uad00\ub9ac\ub294 \uc911\uc559 \uc5d4\uc9c4\uc5d0\uc11c \ucffc\ub9ac \ub85c\uadf8\ub97c \uc218\uc9d1\ud558\uace0, \uce74\ud0c8\ub85c\uadf8 \uc6b0\uc120 \ud50c\ub7ab\ud3fc\uc740 \uc11c\ubc84\uc758 \uba54\ud0c0\ub370\uc774\ud130\ub97c \ud06c\ub864\ub9c1\ud569\ub2c8\ub2e4. DuckDB\ub294 \ud504\ub85c\uc138\uc2a4 \ub0b4\uc5d0\uc11c \uc2e4\ud589\ub429\ub2c8\ub2e4. \uc11c\ubc84\uac00 \uc5c6\uace0, \uacf5\uc720\ub418\ub294 \ucffc\ub9ac \uae30\ub85d\ub3c4 \uc5c6\uc73c\uba70, \uc124\uce58\ud574\uc57c \ud560 \uce74\ud0c8\ub85c\uadf8 \uc5d0\uc774\uc804\ud2b8\ub3c4 \uc5c6\uc2b5\ub2c8\ub2e4. \ubcc0\ud658 \ub85c\uc9c1\uc740 \ud504\ub85c\uc138\uc2a4 \uc790\uccb4\uc5d0 \uc874\uc7ac\ud569\ub2c8\ub2e4. <code>.sql<\/code> \ud30c\uc77c, dbt \ubaa8\ub378 \ubc0f \uc2a4\ud06c\ub9bd\ud2b8\uac00 \uc800\uc7a5\uc18c\uc5d0 \uccb4\ud06c\uc778\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc774\ub7ec\ud55c \uc774\uc720\ub85c \uc815\uc801 SQL \ubd84\uc11d\uc740 DuckDB \ub370\uc774\ud130 \uacc4\ubcf4\ub97c \uad6c\ucd95\ud558\ub294 \uac00\uc7a5 \uc790\uc5f0\uc2a4\ub7fd\uace0, \uc885\uc885 \uc720\uc77c\ud55c \ubc29\ubc95\uc785\ub2c8\ub2e4. SQLFlow\ub294 SQL \ud14d\uc2a4\ud2b8 \uc790\uccb4\ub97c \uad6c\ubb38 \ubd84\uc11d\ud558\ubbc0\ub85c \ud574\ub2f9 SQL\uc774 \ub178\ud2b8\ubd81\uc5d0\uc11c \uc2e4\ud589\ub418\ub4e0, CI \uc791\uc5c5\uc5d0\uc11c \uc2e4\ud589\ub418\ub4e0, \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ud504\ub85c\uc138\uc2a4 \ub0b4\ubd80\uc5d0\uc11c \uc2e4\ud589\ub418\ub4e0 \ub3d9\uc77c\ud558\uac8c \uc791\ub3d9\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">SQLFlow\ub294 \uc5b4\ub5bb\uac8c DuckDB \ub370\uc774\ud130 \uacc4\ubcf4\ub97c \uad6c\ucd95\ud558\ub294\uac00<\/h2>\n\n\n\n<p>SQLFlow\ub294 \ub2e4\uc74c\uc744 \uae30\ubc18\uc73c\ub85c \uad6c\ucd95\ub418\uc5c8\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.sqlparser.com\/\">\uc77c\ubc18 SQL \ud30c\uc11c(GSP)<\/a>DuckDB\ub294 2000\ub144\ub300 \uc911\ubc18\ubd80\ud130 \uac1c\ubc1c\ub418\uc5b4 \uc57d 13,600\uac1c\uc758 \ubc29\uc5b8\ubcc4 SQL \ud14c\uc2a4\ud2b8 \ud53d\uc2a4\ucc98\ub97c \ud1b5\ud574 \uac80\uc99d\ub41c \uc0c1\uc6a9 SQL \ucef4\ud30c\uc77c\ub7ec \ud504\ub7f0\ud2b8\uc5d4\ub4dc \uc911 \ud558\ub098\uc785\ub2c8\ub2e4. <a href=\"https:\/\/www.gudusoft.com\/ko\/sql-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b3%84%eb%b3%b4-%eb%8f%84%ea%b5%ac\/\">\ubc29\uc5b8\ubcc4 \uad6c\ubb38 \ubd84\uc11d\uae30\uac00 \ud3ec\ud568\ub41c 39\uac1c\uc758 \ub370\uc774\ud130\ubca0\uc774\uc2a4<\/a> \u2014 DuckDB\uc758 \uad6c\ubb38\uc744 \ub367\ubd99\uc778 \uc77c\ubc18\uc801\uc778 ANSI \ubb38\ubc95\uc774 \uc544\ub2d9\ub2c8\ub2e4. \ud30c\uc774\ud504\ub77c\uc778\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ol><li><strong>\uc12d\ucde8\ud558\uc138\uc694.<\/strong> DuckDB SQL\uc744 \ubd99\uc5ec\ub123\uac70\ub098, \uc2a4\ud06c\ub9bd\ud2b8 \ud30c\uc77c\uc744 \uc5c5\ub85c\ub4dc\ud558\uac70\ub098, dbt \ub9e4\ub2c8\ud398\uc2a4\ud2b8\ub97c \uac00\uc838\uc624\uc138\uc694. <code>dbt-\ub355DB<\/code> \ud504\ub85c\uc81d\ud2b8.<\/li>\n<li><strong>\uad6c\ubb38 \ubd84\uc11d \ubc0f \ud574\uc11d.<\/strong> GSP\ub294 CTE, \uc11c\ube0c\ucffc\ub9ac, \ubdf0 \ub4f1\uc744 \ud1b5\ud574 \ubaa8\ub4e0 \uc5f4 \ucc38\uc870\ub97c \ud574\uacb0\ud558\uc5ec \uac01 \ubb38\uc7a5\uc758 \uc644\uc804\ud55c \uc758\ubbf8\ub860\uc801 \ubaa8\ub378\uc744 \uad6c\ucd95\ud569\ub2c8\ub2e4. <code>\uc120\ud0dd\ud558\ub2e4 *<\/code> \ud655\uc7a5.<\/li>\n<li><strong>\ub370\uc774\ud130 \ud750\ub984\uc744 \ucd94\ucd9c\ud569\ub2c8\ub2e4.<\/strong> \ub370\uc774\ud130 \ud750\ub984 \ubd84\uc11d\uae30\ub294 \uac01 \ucd9c\ub825 \uc5f4\uc5d0 \ub300\ud574 \uc5b4\ub5a4 \uc18c\uc2a4 \uc5f4\uc774 \uc5b4\ub5a4 \ud568\uc218, \ud615\ubcc0\ud658, \uc870\uc778 \ubc0f \uc9d1\ud569 \uc5f0\uc0b0\uc790\ub97c \ud1b5\ud574 \ud574\ub2f9 \uc5f4\ub85c \uc804\ub2ec\ub418\ub294\uc9c0 \uc815\ud655\ud558\uac8c \uae30\ub85d\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>\uc2dc\uac01\ud654\ud558\uace0 \ub0b4\ubcf4\ub0b4\uae30.<\/strong> \ub300\ud654\ud615 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc744 \uc790\uc138\ud788 \uc0b4\ud3b4\ubcf4\uace0, \ubaa8\ub4e0 \uc5f4\uc758 \uc0c1\uc704 \ub610\ub294 \ud558\uc704 \uacbd\ub85c\ub97c \ucd94\uc801\ud558\uace0, \uadf8\ub798\ud504\ub97c JSON, CSV \ub610\ub294 PNG \ud615\uc2dd\uc73c\ub85c \ub0b4\ubcf4\ub0b4\uac70\ub098 REST API\ub97c \ud1b5\ud574 \uac00\uc838\uc62c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li><\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\uc608\uc2dc: read_parquet() \ubc0f CTAS\ub97c \ud1b5\ud55c \uacc4\ubcf4 \ubd84\uc11d<\/h2>\n\n\n\n<p>DuckDB\uc758 \ub300\ud45c\uc801\uc778 \ud328\ud134\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. <code>\ud14c\uc774\ube14\uc744 SELECT \ud615\uc2dd\uc73c\ub85c \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/code> Parquet \ud30c\uc77c\uc744 \uc9c1\uc811 \uc77d\uae30 - \uc2a4\ud14c\uc774\uc9d5 \ub85c\ub4dc \uc5c6\uc74c, Parquet \ud30c\uc77c <em>~\uc774\ub2e4<\/em> \ucd9c\ucc98. \uc77c\ubc18\uc801\uc778 \ubcf4\uace0\uc11c \uc791\uc131 \ubc29\uc2dd:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE TABLE reporting.daily_revenue AS SELECT CAST(o.order_ts AS DATE) AS order_date, c.region AS region, SUM(o.amount) AS revenue, COUNT(DISTINCT o.customer_id) AS buyers FROM read_parquet(&#039;lake\/orders\/*.parquet&#039;) AS o JOIN dim_customers AS c ON o.customer_id = c.customer_id WHERE o.status = &#039;completed&#039; GROUP BY 1, 2;<\/code><\/pre>\n\n\n\n<p>SQLFlow\uc758 DuckDB \ud30c\uc11c\ub294 \ub2e4\uc74c\uc744 \uc774\ud574\ud569\ub2c8\ub2e4. <code>read_parquet()<\/code> \ud14c\uc774\ube14 \uc18c\uc2a4\ub85c \uc0ac\uc6a9\ub418\ubbc0\ub85c Parquet \uacbd\ub85c\ub294 \ubbf8\ud574\uacb0 \ud568\uc218 \ud638\ucd9c\uc774 \uc544\ub2cc \uacc4\ubcf4 \uadf8\ub798\ud504\uc5d0\uc11c \uc2e4\uc81c \ub178\ub4dc\ub85c \ud45c\uc2dc\ub429\ub2c8\ub2e4. \uc774 \ud558\ub098\uc758 \ubb38\uc7a5\uc5d0\uc11c \ub2e4\uc74c\uc744 \ucd94\ucd9c\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<ul><li><code>\uc77c\uc77c \uc218\uc775.\uc218\uc775<\/code> ~\uc5d0 \uc758\ud574 \uacf5\uae09\ub429\ub2c8\ub2e4 <code>o.\uae08\uc561<\/code> \ud30c\ub974\ucf00 \uc18c\uc2a4\uc5d0\uc11c \uc2dc\uc791\ud558\uc5ec, <code>\ud569\uc9d1\ud569()<\/code>.<\/li>\n<li><code>\uc77c\uc77c \ub9e4\ucd9c.\uc8fc\ubb38\uc77c<\/code> ~\uc5d0 \uc758\ud574 \uacf5\uae09\ub429\ub2c8\ub2e4 <code>o.order_ts<\/code>\ub97c \ud1b5\ud574 <code>\uae41\uc2a4<\/code> \uc5d0\uac8c <code>\ub0a0\uc9dc<\/code>.<\/li>\n<li><code>\uc77c\uc77c \uc218\uc775.\uc9c0\uc5ed<\/code> \ubc14\ub85c \uac70\uae30\uc11c \uac00\uc838\uc628 \uac83\uc785\ub2c8\ub2e4 <code>dim_customers.region<\/code>.<\/li>\n<li><code>o.\uc0c1\ud0dc<\/code>, <code>o.customer_id<\/code>, \uadf8\ub9ac\uace0 <code>c.customer_id<\/code> \ucd9c\ub825 \uacb0\uacfc\uc5d0\ub294 \ub098\ud0c0\ub098\uc9c0 \uc54a\uc9c0\ub9cc \ucd9c\ub825 \ud615\ud0dc\ub97c \uacb0\uc815\uc9d3\uae30 \ub54c\ubb38\uc5d0 SQLFlow\ub294 \uc774\ub97c \uac04\uc811 \uacc4\ubcf4\ub85c \uae30\ub85d\ud569\ub2c8\ub2e4(\uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \uc544\ub798 \ucc38\uc870).<\/li><\/ul>\n\n\n\n<p>dbt \ud504\ub85c\uc81d\ud2b8\ub098 \uc57c\uac04 \uc2a4\ud06c\ub9bd\ud2b8\uc5d0 \uc774\ub7ec\ud55c \ubb38\uc7a5\uc744 50\uac1c \uc815\ub3c4 \uc5f0\uacb0\ud558\uba74 \uadf8\ub798\ud504\uac00 \uc810\uc810 \ubcf5\uc7a1\ud574\uc9d1\ub2c8\ub2e4. SQLFlow\ub294 \ubaa8\ub4e0 \uc911\uac04 \ud14c\uc774\ube14\uc744 \uc5f0\uacb0\ud558\uc5ec \ub300\uc2dc\ubcf4\ub4dc \ubc88\ud638\ub97c \ud574\ub2f9 \ubc88\ud638\uac00 \uc2dc\uc791\ub41c \uc815\ud655\ud55c Parquet \uc5f4\uae4c\uc9c0 \ucd94\uc801\ud560 \uc218 \uc788\ub3c4\ub85d \ud574\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc9c1\uc811 \ud608\ud1b5 vs \uac04\uc811 \ud608\ud1b5<\/h2>\n\n\n\n<p>\uc704 \uc608\uc2dc\uc5d0\uc11c, <code>o.\uc0c1\ud0dc<\/code> \uc808\ub300 \ub098\ud0c0\ub098\uc9c0 \uc54a\uc74c <code>\uc77c\uc77c \uc218\uc775<\/code>\ud558\uc9c0\ub9cc \ubc29\uc2dd\uc744 \ubc14\uafb8\uace0 \uc788\uc2b5\ub2c8\ub2e4. <code>\uc0c1\ud0dc<\/code> \ub370\uc774\ud130\uac00 \ucc44\uc6cc\uc9c0\uba74 \ubaa8\ub4e0 \uc218\uc775 \uc218\uce58\uac00 \uc870\uc6a9\ud788 \ubcc0\uacbd\ub429\ub2c8\ub2e4. SQLFlow\ub294 \uc774\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \ubaa8\ub378\ub9c1\ud569\ub2c8\ub2e4. <strong>\uac04\uc811\uc801 (\uc601\ud5a5) \uacc4\ubcf4<\/strong>: \uc0ac\uc6a9\ub41c \uc5f4 <code>\uc5b4\ub514<\/code>, <code>\uac00\uc785\ud558\ub2e4<\/code>, \uadf8\ub9ac\uace0 <code>\uadf8\ub8f9\ud654 \uae30\uc900<\/code> \uc808\uacfc \ub0b4\ubd80 \uc9d1\uacc4\ub294 \uc9c1\uc811\uc801\uc778 \ub370\uc774\ud130 \ud750\ub984\uacfc \ud568\uaed8 \ubcc4\ub3c4\ub85c \uc804\ud658 \uac00\ub2a5\ud55c \uad00\uacc4 \uc720\ud615\uc744 \ud615\uc131\ud569\ub2c8\ub2e4. \ub300\ubd80\ubd84\uc758 \uacbd\uc7c1 \ub3c4\uad6c\ub294 \uc774\ub7ec\ud55c \uad6c\ubd84\uc744 \ud558\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0 \uc601\ud5a5 \ubd84\uc11d\uc5d0\uc11c \uc228\uaca8\uc9c4 \ub370\uc774\ud130 \ubc84\uadf8\ub97c \uc720\ubc1c\ud558\ub294 \uc885\uc18d\uc131\uc744 \uc815\ud655\ud788 \ud30c\uc545\ud558\uc9c0 \ubabb\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>DuckDB \ud30c\uc774\ud504\ub77c\uc778\uc758 \uacbd\uc6b0 \uc774\ub294 \ub450 \ubc30\ub85c \uc911\uc694\ud569\ub2c8\ub2e4. \ud30c\uc77c \uae30\ubc18 \uc18c\uc2a4\uc5d0\ub294 \uacbd\uace0\ub97c \ud45c\uc2dc\ud558\ub294 \uc678\ub798 \ud0a4\ub098 \uc81c\uc57d \uc870\uac74\uc774 \uc5c6\uc73c\ubbc0\ub85c SQL \uc790\uccb4\uc5d0\ub9cc \uc774\ub7ec\ud55c \uc885\uc18d\uc131\uc774 \uae30\ub85d\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">dbt-duckdb \ud504\ub85c\uc81d\ud2b8\uc758 \uacc4\ubcf4<\/h2>\n\n\n\n<p><code>dbt-\ub355DB<\/code> DuckDB\uac00 \uc2e4\uc81c \uc6b4\uc601 \ud658\uacbd\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 \uac00\uc7a5 \uc77c\ubc18\uc801\uc778 \ubc29\uc2dd \uc911 \ud558\ub098\uc774\uba70, dbt \uc790\uccb4\uc758 DAG\ub294 \ubaa8\ub378 \ub808\ubca8\uc5d0\uc11c \uba48\ucda5\ub2c8\ub2e4. \uc989, \ub2e4\uc74c\uacfc \uac19\uc740 \uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. <code>\uc77c\uc77c \uc218\uc775<\/code> ~\uc5d0 \ub530\ub77c \ub2e4\ub985\ub2c8\ub2e4 <code>stg_orders<\/code>\uc885\uc18d\uc131\uc744 \uac16\ub294 \uc5f4\uc774 \ubb34\uc5c7\uc778\uc9c0\ub294 \uc911\uc694\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. SQLFlow\ub294 dbt \ub9e4\ub2c8\ud398\uc2a4\ud2b8\ub97c \uac00\uc838\uc640\uc11c \uc0dd\uc131\ud569\ub2c8\ub2e4. <strong>\uceec\ub7fc \ub808\ubca8<\/strong> \ucef4\ud30c\uc77c\ub41c \ubaa8\ub378 \uc804\uccb4\uc5d0 \uac78\uccd0 \uacc4\ubcf4\ub97c \ud655\uc778\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c &quot;\uc5b4\ub5a4 \ub9c8\ud2b8\uac00...&quot;\ub77c\ub294 \uc9c8\ubb38\uc5d0 \ub2f5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>stg_orders.amount<\/code> \ubcc0\uacbd\ud558\uae30 \uc804\uc5d0 &quot;\uc2e4\uc81c\ub85c \uba39\uc774\ub97c \uc8fc\ub294 \uac74\uac00\uc694?&quot;\ub77c\uace0 \ubb3c\uc5b4\ubcf4\uc138\uc694.<\/p>\n\n\n\n<p>\ub9c8\uc774\uadf8\ub808\uc774\uc158 \uc2dc\uc810\uc5d0\ub3c4 \ub3d9\uc77c\ud55c \ubd84\uc11d\uc774 \ud6a8\uacfc\uc801\uc785\ub2c8\ub2e4. \ud300\ub4e4\uc740 \uc885\uc885 DuckDB\uc5d0\uc11c \ud504\ub85c\ud1a0\ud0c0\uc785\uc744 \uc81c\uc791\ud55c \ud6c4 \ub098\uc911\uc5d0 \ubaa8\ub378\uc744 \ub2e4\ub978 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub85c \uc774\uc804\ud569\ub2c8\ub2e4. <a href=\"https:\/\/www.gudusoft.com\/ko\/%ed%81%b4%eb%a6%ad%ed%95%98%ec%9a%b0%ec%8a%a4-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b3%84%eb%b3%b4\/\">\ud074\ub9ad\ud558\uc6b0\uc2a4<\/a>, <a href=\"https:\/\/www.gudusoft.com\/ko\/%ed%8f%ac%ec%8a%a4%ed%8a%b8%ea%b7%b8%eb%a0%88%ec%8a%a4-sql-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b3%84%eb%b3%b4\/\">\ud3ec\uc2a4\ud2b8\uadf8\ub808\uc2a4 SQL<\/a>\ub610\ub294 \ud074\ub77c\uc6b0\ub4dc \uc6e8\uc5b4\ud558\uc6b0\uc2a4. SQLFlow\ub294 \uc774\ub7ec\ud55c \ubaa8\ub4e0 \ub370\uc774\ud130\ub97c \ubc29\uc5b8\ubcc4 \ubb38\ubc95\uc73c\ub85c \ud30c\uc2f1\ud558\uae30 \ub54c\ubb38\uc5d0 \uc774\ub3d9 \uc804\uc5d0 \uc2e4\uc81c \uc885\uc18d\uc131 \uadf8\ub798\ud504\ub97c \ub9e4\ud551\ud558\uace0 \uc774\ub3d9 \ud6c4\uc5d0 \uace0\uc544 \ub370\uc774\ud130\uac00 \uc5c6\ub294\uc9c0 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc989, \uc591\ucabd \ubaa8\ub450\uc5d0\uc11c \ud558\ub098\uc758 \ub3c4\uad6c\uc640 \ud558\ub098\uc758 \uacc4\ubcf4 \ubaa8\ub378\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">DuckDB \uacc4\ubcf4 \ucd94\uc801\uc5d0\ub294 \uc5b4\ub5a4 \uc635\uc158\uc774 \uc788\ub098\uc694?<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\uc811\uadfc\ud558\ub2e4<\/th><th>\uc798\ud55c\ub2e4<\/th><th>DuckDB\uc758 \uaca9\ucc28<\/th><\/tr><\/thead><tbody>\n<tr><td>\uc218\ub3d9 \ubb38\uc11c\ud654<\/td><td>\uc758\ub3c4\uc640 \ube44\uc988\ub2c8\uc2a4 \ub9e5\ub77d \ud30c\uc545<\/td><td>\uc791\uc131\ub41c \ub2e4\uc74c \ub0a0\uc774\uba74 \ub0b4\uc6a9\uc774 \uc2dd\uc0c1\ud574\uc9d0; \uce7c\ub7fc \uc138\ubd80 \uc815\ubcf4 \uc5c6\uc74c<\/td><\/tr>\n<tr><td>\uc624\ud508\uc18c\uc2a4 \ud30c\uc11c(<code>sqllineage<\/code>, <code>sqlglot<\/code>)<\/td><td>Python \uc6cc\ud06c\ud50c\ub85c\uc5d0\uc11c \uac1c\ubcc4 \ucffc\ub9ac\ub97c \uad6c\ubb38 \ubd84\uc11d\ud569\ub2c8\ub2e4. (\ubb34\ub8cc)<\/td><td>\ud574\uc0c1\ub3c4, \ubcc4\uc758 \ud655\uc7a5, \uad50\ucc28 \uc9c4\uc220 \uc5f0\uacb0 \ubc0f \uc2dc\uac01\ud654\ub97c \uc9c1\uc811 \uc870\ub9bd\ud574\uc57c \ud569\ub2c8\ub2e4. \uac04\uc811\uc801\uc778 \uacc4\uc2b9\uc740 \ub2f9\uc2e0\uc5d0\uac8c \ub2ec\ub824 \uc788\uc2b5\ub2c8\ub2e4.<\/td><\/tr>\n<tr><td>\ub7f0\ud0c0\uc784 \ub85c\uadf8 \uae30\ubc18 \uacc4\ubcf4<\/td><td>\uc11c\ubc84\uc5d0\uc11c \uc2e4\uc81c\ub85c \uc2e4\ud589\ub41c \ub0b4\uc6a9\uc744 \uad00\ucc30\ud558\uae30<\/td><td>\ub85c\uadf8\ub97c \uc0dd\uc131\ud558\ub294 \uc911\uc559 \uc5d4\uc9c4\uc744 \uac00\uc815\ud569\ub2c8\ub2e4. \ub178\ud2b8\ubd81\uc774\ub098 \uc571 \ub0b4\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 \uc778\ud504\ub85c\uc138\uc2a4 DuckDB\ub294 \uc218\uc9d1\ud560 \ub370\uc774\ud130\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.<\/td><\/tr>\n<tr><td>\uce74\ud0c8\ub85c\uadf8 \uc6b0\uc120 \ud50c\ub7ab\ud3fc<\/td><td>\uc804\uccb4 \uc2a4\ud0dd\uc5d0 \uac78\uce5c \uac70\ubc84\ub10c\uc2a4 \uc6cc\ud06c\ud50c\ub85c, \uc18c\uc720\uad8c, \uc6a9\uc5b4\uc9d1<\/td><td>\uacc4\ubcf4\uc758 \uae4a\uc774\ub294 \ubc29\uc5b8\ubcc4 SQL \uad6c\ubb38 \ubd84\uc11d\uc5d0 \ub530\ub77c \ub2ec\ub77c\uc9c0\ubbc0\ub85c, \ub0b4\uc7a5\ub41c DuckDB \uc2a4\ud06c\ub9bd\ud2b8\ub294 \uc81c\ub300\ub85c \ub41c \uc815\ubcf4 \uc18c\uc2a4\uac00 \ub418\uae30 \uc5b4\ub835\uc2b5\ub2c8\ub2e4.<\/td><\/tr>\n<tr><td>Gudu SQLFlow<\/td><td>SQL \ud14d\uc2a4\ud2b8 \uc790\uccb4\uc5d0 \ub300\ud55c \uc815\uc801 \uc5f4 \uc218\uc900 \ubd84\uc11d\uc73c\ub85c, \ubc29\uc5b8\uc744 \uc778\uc2dd\ud558\uace0 \uc9c1\uc811 \ubc0f \uac04\uc811 \uacc4\ubcf4\ub97c \ucd94\uc801\ud569\ub2c8\ub2e4.<\/td><td>\ud300 \uaddc\ubaa8 \uc0ac\uc6a9\uc744 \uc704\ud55c \uc720\ub8cc \uc694\uae08\uc81c (\uac1c\uc778 \ubb38\uc758\ub294 \ubb34\ub8cc \uc694\uae08\uc81c \uc774\uc6a9 \uac00\ub2a5)<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p>\uc774 \ub450 \uac00\uc9c0\ub294 \uc0c1\ud638 \ubc30\ud0c0\uc801\uc774\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\ubbf8 \uce74\ud0c8\ub85c\uadf8\ub97c \uc2e4\ud589 \uc911\uc778 \uacbd\uc6b0 SQLFlow\uc758 \uc5d4\ud130\ud504\ub77c\uc774\uc988 \ubc30\ud3ec\ub294 \uacc4\ubcf4\ub97c \ub0b4\ubcf4\ub0c5\ub2c8\ub2e4. <strong>DataHub, Microsoft Purview \ubc0f OpenMetadata<\/strong>\uadf8\ub798\uc11c \uadf8\uac83\uc740 \ub2f9\uc2e0\uc774 \uad00\ub9ac\ud558\ub294 \uce74\ud0c8\ub85c\uadf8\uc758 \uad6c\ubb38 \ubd84\uc11d \uc5d4\uc9c4\uc774 \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ubc30\ud3ec \ubc0f \uac1c\uc778\uc815\ubcf4 \ubcf4\ud638<\/h2>\n\n\n\n<p>SQLFlow\ub294 SQL \ucf54\ub4dc\uc5d0 \ub300\ud55c \uc815\uc801 \ubd84\uc11d\ub9cc \uc218\ud589\ud558\uba70, \ud14c\uc774\ube14\uc774\ub098 Parquet \ud30c\uc77c\uc758 \ud589\uc744 \uc77d\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. DuckDB \uc2a4\ud06c\ub9bd\ud2b8\uc5d0 \uc790\uccb4 \ub85c\uc9c1\uc774 \ud3ec\ud568\ub41c \ud300\uc758 \uacbd\uc6b0, <a href=\"https:\/\/www.gudusoft.com\/ko\/sqlflow-on-premise-%eb%b2%84%ec%a0%84\/\">\uc628\ud504\ub808\ubbf8\uc2a4 SQLFlow<\/a> SQLFlow Cloud\ub294 \ub124\ud2b8\uc6cc\ud06c \ub0b4\ubd80\uc5d0\uc11c Docker \ub610\ub294 Kubernetes\ub85c \uc2e4\ud589\ub418\ubbc0\ub85c(\uc5d0\uc5b4\uac2d \uc124\uce58 \uc9c0\uc6d0) SQL \ud14d\uc2a4\ud2b8\uc870\ucc28\ub3c4 \uc778\ud504\ub77c \uc678\ubd80\ub85c \uc720\ucd9c\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. SQLFlow Cloud\ub294 \ubb34\ub8cc\ub85c \uc2dc\uc791\ud558\uba70 \ud504\ub9ac\ubbf8\uc5c4 \ubc84\uc804\uc740 \uc6d4 $49.99\uc785\ub2c8\ub2e4. \uc628\ud504\ub808\ubbf8\uc2a4 \ubc84\uc804\uc740 \uc6d4 $500 \ub610\ub294 \uc120\ud0dd\ud55c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc720\ud615\ub2f9 1\ud68c $4,800\uc774\uba70, \ub450 \ub300\uc758 \uc11c\ubc84\uc5d0 \uc124\uce58\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub450 \ubc84\uc804 \ubaa8\ub450 \ud5e4\ub4dc\ub9ac\uc2a4 CLI \ubc0f REST API\ub97c \ud1b5\ud574 \uc2a4\ud06c\ub9bd\ud2b8 \uc2e4\ud589\uc774 \uac00\ub2a5\ud558\uc5ec DuckDB\uc758 \uc790\ub3d9\ud654 \uc911\uc2ec CI \ubb38\ud654\uc5d0 \uc801\ud569\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ubc18\ub300\ub85c, \ub3d9\uc77c\ud55c \uc5d4\uc9c4\uc774 100\uac1c \uc774\uc0c1\uc758 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc640 \ubc31\ub9cc \uac1c \uc774\uc0c1\uc758 \uc5f4\uc744 \ud3ec\ud568\ud558\ub294 \ub300\uaddc\ubaa8 \ud658\uacbd\uc744 \uc99d\ubd84 \uc2a4\uce94 \ubc0f \uc601\uad6c\uc801\uc778 \ub370\uc774\ud130 \uacc4\ubcf4 \uc800\uc7a5\uc18c\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc77c\uad04 \uc2a4\uce94\ud558\ubbc0\ub85c \uc2a4\ud0dd\uc758 DuckDB \ubd80\ubd84\uacfc \ub370\uc774\ud130 \uc6e8\uc5b4\ud558\uc6b0\uc2a4\ub97c \ud558\ub098\uc758 \ub370\uc774\ud130 \uacc4\ubcf4 \uadf8\ub798\ud504\uc5d0\uc11c \uad00\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc790\uc8fc \ubb3b\ub294 \uc9c8\ubb38<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">SQLFlow\ub294 read_parquet() \ubc0f \ud30c\uc77c \uc18c\uc2a4\ub97c \ud1b5\ud574 \uacc4\ubcf4\ub97c \ucd94\uc801\ud560 \uc218 \uc788\uc2b5\ub2c8\uae4c?<\/h3>\n\n\n<p>\uc608. DuckDB \ubc29\uc5b8 \ubd84\uc11d\uae30\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ucc98\ub9ac\ud569\ub2c8\ub2e4. <code>read_parquet()<\/code> \ud14c\uc774\ube14 \uc18c\uc2a4\ub85c \uc0ac\uc6a9\ub418\ubbc0\ub85c \ud30c\uc77c \uacbd\ub85c\ub294 \uacc4\ubcf4 \uadf8\ub798\ud504\uc5d0\uc11c \uc18c\uc2a4 \ub178\ub4dc\ub85c \ub098\ud0c0\ub098\uace0 Parquet\uc5d0\uc11c \uc77d\uc740 \uc5f4\uc740 \ub2e4\ub978 \uc5f4\uacfc \ub9c8\ucc2c\uac00\uc9c0\ub85c \ud558\uc704 \ud14c\uc774\ube14\ub85c \ucd94\uc801\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ub370\uc774\ud130 \uacc4\ubcf4\ub97c \uc5bb\uc73c\ub824\uba74 DuckDB \ucffc\ub9ac\ub97c \uc2e4\ud589\ud574\uc57c \ud558\ub098\uc694?<\/h3>\n\n\n<p>\uc544\ub2c8\uc694. SQLFlow\ub294 \uc815\uc801 \ubd84\uc11d \ub3c4\uad6c\uc785\ub2c8\ub2e4. SQL \ud14d\uc2a4\ud2b8\ub97c \ud30c\uc2f1\ud560 \ubfd0 \uc2e4\ud589\ud558\uc9c0\ub294 \uc54a\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc11c\ubc84 \uce21 \ucffc\ub9ac \ub85c\uadf8\ub97c \uc218\uc9d1\ud560 \ud544\uc694\uac00 \uc5c6\ub294 \uc778\ud504\ub85c\uc138\uc2a4 DuckDB\uc5d0 \uc801\ud569\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SQLFlow\ub294 dbt-duckdb \ud504\ub85c\uc81d\ud2b8\ub97c \uc9c0\uc6d0\ud558\ub098\uc694?<\/h3>\n\n\n<p>\uc608. dbt \ub9e4\ub2c8\ud398\uc2a4\ud2b8\ub97c \uac00\uc838\uc624\uba74 SQLFlow\uac00 \ubaa8\ub378 \uc804\uccb4\uc5d0 \uac78\uccd0 \uc5f4 \uc218\uc900\uc758 \uacc4\ubcf4\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. \uc774\ub294 dbt \uc790\uccb4\uc758 \ubaa8\ub378 \uc218\uc900 DAG\ubcf4\ub2e4 \ub354 \uc138\ubc00\ud55c \uc815\ubcf4\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">DuckDB\ub294 \uc2e4\uc81c \ubc29\uc5b8 \ud30c\uc11c\ub97c \uc9c0\uc6d0\ud558\ub098\uc694, \uc544\ub2c8\uba74 \uc77c\ubc18 ANSI SQL\uc744 \uc9c0\uc6d0\ud558\ub098\uc694?<\/h3>\n\n\n<p>\uc9c4\uc815\ud55c \ubc29\uc5b8 \ud30c\uc11c\uc785\ub2c8\ub2e4. SQLFlow\ub294 DuckDB\ub97c \ud3ec\ud568\ud55c 39\uac1c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \ub300\ud55c \ubc29\uc5b8\ubcc4 \ud30c\uc11c\ub97c \uc81c\uacf5\ud558\uba70, \uc774 \ud30c\uc11c \uc5d4\uc9c4\uc740 \ubc29\uc5b8\ubcc4\ub85c \uc57d 13,600\uac1c\uc758 SQL \ud14c\uc2a4\ud2b8 \ud53d\uc2a4\ucc98\ub97c \ud1b5\ud574 \uac80\uc99d\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">DuckDB \uc2a4\ud06c\ub9bd\ud2b8\uc5d0\uc11c \uc0dd\uc131\ub41c \ub370\uc774\ud130 \uacc4\ubcf4 \uc815\ubcf4\ub97c \ub0b4 \ub370\uc774\ud130 \uce74\ud0c8\ub85c\uadf8\uc5d0 \ucd94\uac00\ud560 \uc218 \uc788\ub098\uc694?<\/h3>\n\n\n<p>\uc608. \uc5d4\ud130\ud504\ub77c\uc774\uc988 \ubc30\ud3ec\uc5d0\ub294 DataHub, Microsoft Purview \ubc0f OpenMetadata\uc6a9 \ub0b4\ubcf4\ub0b4\uae30 \uc5b4\ub311\ud130\uc640 JSON \ubc0f CSV \ub0b4\ubcf4\ub0b4\uae30, \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ud1b5\ud569\uc744 \uc704\ud55c REST API\uac00 \ud3ec\ud568\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SQLFlow\ub97c \uc774\uc6a9\ud55c DuckDB \ub370\uc774\ud130 \uacc4\ubcf4 \ubd84\uc11d \ube44\uc6a9\uc740 \uc5bc\ub9c8\uc778\uac00\uc694?<\/h3>\n\n\n<p>SQLFlow \ud074\ub77c\uc6b0\ub4dc\ub294 \ubb34\ub8cc \ud2f0\uc5b4\ub97c \uc81c\uacf5\ud558\uba70, \ud504\ub9ac\ubbf8\uc5c4 \ud2f0\uc5b4\ub294 \uc6d4 $49.99\uc785\ub2c8\ub2e4. \uc628\ud504\ub808\ubbf8\uc2a4 \ubc84\uc804\uc740 \uc6d4 $500 \ub610\ub294 \uc120\ud0dd\ud55c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc720\ud615\ub2f9 \uc77c\ud68c\uc131 $4,800\uc785\ub2c8\ub2e4. \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \ub2e4\uc74c\uc744 \ucc38\uc870\ud558\uc138\uc694. <a href=\"https:\/\/www.gudusoft.com\/ko\/%ea%b0%80%ea%b2%a9\/\">\uac00\uaca9<\/a> \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \ub2e4\uc74c\uc744 \ucc38\uc870\ud558\uc138\uc694.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull has-background is-layout-constrained\" style=\"background-color:#60d5f6;padding-top:32px;padding-bottom:32px\"><div class=\"wp-block-group__inner-container\">\n\n<h2 class=\"wp-block-heading\">\uc9c0\uae08 \ubc14\ub85c DuckDB \ud30c\uc774\ud504\ub77c\uc778\uc744 \ucd94\uc801\ud558\uc138\uc694<\/h2>\n\n\n<p>DuckDB \ucffc\ub9ac\ub97c \ubb34\ub8cc \uc2dc\uac01\ud654 \ub3c4\uad6c\uc5d0 \ubd99\uc5ec\ub123\uace0 \uc5f4 \uc218\uc900\uc758 \ub370\uc774\ud130 \uacc4\ubcf4\ub97c \ud655\uc778\ud558\uac70\ub098, \uc804\uccb4 \ud504\ub85c\uc81d\ud2b8 \uc2a4\uce94\uc5d0 \ub300\ud574 \ubb38\uc758\ud574 \ubcf4\uc138\uc694.<\/p>\n\n\n<div class=\"wp-block-buttons is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=duckdb-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">SQLFlow\ub97c \ubb34\ub8cc\ub85c \uc0ac\uc6a9\ud574 \ubcf4\uc138\uc694.<\/a><\/div>\n<\/div>\n\n\n<div class=\"wp-block-buttons is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.gudusoft.com\/ko\/%ec%97%b0%eb%9d%bd%ed%95%98%eb%8b%a4\/\">\ub370\ubaa8\ub97c \uc694\uccad\ud558\uc138\uc694<\/a><\/div>\n<\/div>\n\n<\/div><\/div>\n\n\n\n<script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@graph\": [\n        {\n            \"@type\": \"SoftwareApplication\",\n            \"name\": \"Gudu SQLFlow\",\n            \"applicationCategory\": \"DeveloperApplication\",\n            \"applicationSubCategory\": \"SQL Data Lineage Tool\",\n            \"operatingSystem\": \"Web, Linux, Windows, macOS\",\n            \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/duckdb-data-lineage\\\/\",\n            \"description\": \"Automated DuckDB data lineage: SQLFlow parses DuckDB SQL scripts and dbt-duckdb projects with a dialect-specific parser and produces interactive column-level lineage diagrams, including sources read via read_parquet().\",\n            \"featureList\": \"DuckDB dialect parser, column-level lineage, read_parquet() source tracing, indirect\\\/impact lineage, dbt manifest import, JSON\\\/CSV\\\/PNG export, REST API, DataHub\\\/Purview\\\/OpenMetadata export\",\n            \"softwareVersion\": \"8.2.3\",\n            \"offers\": [\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow Cloud Free\",\n                    \"price\": \"0\",\n                    \"priceCurrency\": \"USD\"\n                },\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow Cloud Premium\",\n                    \"price\": \"49.99\",\n                    \"priceCurrency\": \"USD\",\n                    \"priceSpecification\": {\n                        \"@type\": \"UnitPriceSpecification\",\n                        \"price\": \"49.99\",\n                        \"priceCurrency\": \"USD\",\n                        \"billingIncrement\": 1,\n                        \"unitText\": \"MONTH\"\n                    }\n                },\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow On-Premise\",\n                    \"price\": \"4800\",\n                    \"priceCurrency\": \"USD\"\n                }\n            ],\n            \"publisher\": {\n                \"@type\": \"Organization\",\n                \"name\": \"Gudu Software\",\n                \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/\"\n            }\n        },\n        {\n            \"@type\": \"FAQPage\",\n            \"mainEntity\": [\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can SQLFlow trace lineage through read_parquet() and file sources?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. The DuckDB dialect parser treats read_parquet() as a table source, so file paths appear as source nodes in the lineage graph and columns read from Parquet are traced into downstream tables like any other column.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Do I have to run my DuckDB queries to get lineage?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"No. SQLFlow is static analysis: it parses the SQL text and never executes it. That is what makes it a fit for in-process DuckDB, where there is no server-side query log to collect.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Does SQLFlow support dbt-duckdb projects?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. Import the dbt manifest and SQLFlow produces column-level lineage across your models, finer-grained than dbt's own model-level DAG.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Is DuckDB support a real dialect parser or generic ANSI SQL?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"A real dialect parser. SQLFlow ships dialect-specific parsers for 39 databases, DuckDB among them, built on a parser engine validated against roughly 13,600 per-dialect SQL test fixtures.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can lineage from DuckDB scripts feed my data catalog?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. Enterprise deployments include export adapters for DataHub, Microsoft Purview, and OpenMetadata, plus JSON and CSV export and a REST API for custom integrations.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"What does SQLFlow cost for DuckDB lineage?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"SQLFlow Cloud has a free tier; premium is $49.99\\\/month. On-Premise is $500\\\/month or $4,800 one-time per selected database type.\"\n                    }\n                }\n            ]\n        }\n    ]\n}<\/script>","protected":false},"excerpt":{"rendered":"<p>DuckDB data lineage is the column-level map of how data moves through your DuckDB SQL: which Parquet files and source tables feed each derived table, and through which joins, casts, filters, and aggregations. Gudu SQLFlow builds that map automatically: it parses your DuckDB scripts with a dedicated DuckDB dialect parser and renders an interactive lineage diagram, without executing a single query or touching your data. Try it now: paste any DuckDB query into the free online SQL lineage visualizer, select the DuckDB dialect, and get a column-level lineage diagram in seconds. There is a free tier for individual use. Why\u2026<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":5}},"_links":{"self":[{"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/pages\/6764"}],"collection":[{"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/comments?post=6764"}],"version-history":[{"count":0,"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/pages\/6764\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/media?parent=6764"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}