{"id":12792,"date":"2022-02-16T08:34:12","date_gmt":"2022-02-16T16:34:12","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=12792"},"modified":"2025-06-13T21:25:06","modified_gmt":"2025-06-14T04:25:06","slug":"leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/","title":{"rendered":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc560\ub110\ub9ac\ud2f1\uc2a4 \uc0ac\uc6a9\uc790 \uc815\uc758 \ud568\uc218(UDF)\ub85c ML \ubaa8\ub378 \ud65c\uc6a9\ud558\uae30"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">\uc774\uc81c Couchbase 7.0\uc744 \ud1b5\ud574 Python UDF\ub97c Couchbase Analytics\uc640 \ud1b5\ud569\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. In <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/ml-meets-nosql-integrating-python-user-defined-functions-with-n1ql-for-analytics\/\">\uc774 \ube14\ub85c\uadf8 \uc2dc\ub9ac\uc988\uc758 1\ubd80<\/a>\uc5d0\uc11c Couchbase\uc640 \uba38\uc2e0 \ub7ec\ub2dd\uc6a9 \ubd84\uc11d(ML)\uc744 \uc124\uc815\ud558\ub294 \ub370 \ud544\uc694\ud55c \ud544\uc218 \uc0ac\ud56d\uc744 \ub2e4\ub8e8\uc5c8\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">ML\uc740 \uc870\uc9c1\uc774 \uace0\uac1d\uc758 \ub2c8\uc988\ub97c \uc774\ud574\ud558\ub294 \ubc29\uc2dd\uc744 \uadfc\ubcf8\uc801\uc73c\ub85c \ubcc0\ud654\uc2dc\ucf30\uc2b5\ub2c8\ub2e4. \uc608\uce21 \ubd84\uc11d(\uace0\uac1d \uc774\ud0c8, \uace0\uac1d \uac10\uc815 \ub4f1) \ubc0f \uc7ac\ubb34 \ubaa8\ub378\ub9c1\uacfc \uac19\uc740 \uace0\uae09 \ubd84\uc11d \uc601\uc5ed\uc5d0\uc11c\ub294 \uc2e4\uc2dc\uac04\uc5d0 \uac00\uae4c\uc6b4 \ub300\uaddc\ubaa8 \ub370\uc774\ud130 \ucc98\ub9ac\uc640 \uadf8\ub85c\ubd80\ud130 \uac00\uce58 \uc788\ub294 \uc778\uc0ac\uc774\ud2b8\ub97c \ucd94\ucd9c\ud558\ub294 \uac83\uc5d0 \ub300\ud55c \uc758\uc874\ub3c4\uac00 \uc810\uc810 \ub354 \ucee4\uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uace0\uac1d\uc774 \uc2e4\uc2dc\uac04\uc73c\ub85c \ubd84\uc11d \uc778\uc0ac\uc774\ud2b8\ub97c \uc5bb\uc744 \uc218 \uc788\ub3c4\ub85d Python \uae30\ubc18 \uba38\uc2e0 \ub7ec\ub2dd \ubaa8\ub378\uc5d0\uc11c Couchbase \ubd84\uc11d\uc5d0 \uc774\ub974\ub294 \uc6d0\ud65c\ud55c \ud30c\uc774\ud504\ub77c\uc778\uc744 \ub9cc\ub4e4\uc5c8\uc2b5\ub2c8\ub2e4. \uc774 \uac8c\uc2dc\ubb3c\uc5d0\uc11c\ub294 \ub2e4\uc74c \ub2e8\uacc4\ub97c \ud1b5\ud574 Couchbase\uc5d0 \uc0c1\uc8fc\ud558\ub294 \ub370\uc774\ud130\uc5d0 \uc678\ubd80 \uc54c\uace0\ub9ac\uc998\uc744 \uc801\uc6a9\ud558\ub294 \ubc29\ubc95\uc744 \ubcf4\uc5ec\ub4dc\ub9bd\ub2c8\ub2e4.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">NoSQL \ub370\uc774\ud130\uc5d0 ML \ubaa8\ub378\uc744 \uc801\uc6a9\ud558\ub294 6\uac00\uc9c0 \ub2e8\uacc4:<\/span><\/h4>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\ubaa8\ub378 \ud6c8\ub828<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\ubaa8\ub378 \ucf54\ub4dc\ud654<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\ucf54\ub4dc \ud328\ud0a4\uc9d5 \ubc0f \ubc30\ud3ec<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\uc774 \ud504\ub85c\uc81d\ud2b8\uc5d0 \ud544\uc694\ud55c \ub370\uc774\ud130 \uac00\uc838\uc624\uae30<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">UDF \uc791\uc131<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\uc778\uc2a4\ud134\uc2a4\uc5d0\uc11c CB(DP \ubaa8\ub4dc)\uc5d0 UDF \uc0ac\uc6a9<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">\uc790\uc138\ud788 \uc54c\uc544\ubcf4\uae30 \uc804\uc5d0 \uc6b0\ub9ac\uac00 \uad6c\ucd95 \uc911\uc778 \uae30\ub2a5\uc744 \ud765\ubbf8\ub86d\uac8c \ubcf4\uc5ec\uc904 \uc218 \uc788\ub294 \ub370\uc774\ud130 \uc138\ud2b8\ub97c \ucc3e\uc544\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uc5ec\ub7ec \uc6f9\uc0ac\uc774\ud2b8\uc5d0 \uc601\ud654 \ub9ac\ubdf0\uac00 \uc788\uc9c0\ub9cc, \ud3c9\ub860\uac00\ub4e4\uc758 \ub9ac\ubdf0\ub97c \uc804\uccb4\uc801\uc73c\ub85c \uc774\ud574\ud558\ub824\uba74 Rotten Tomatoes\ubcf4\ub2e4 \ub354 \uc88b\uc740 \uacf3\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774 \uc6f9\uc0ac\uc774\ud2b8\uc5d0\uc11c\ub294 \uc77c\ubc18 \uc0ac\uc6a9\uc790\uac00 \ubd80\uc5ec\ud55c \ud3c9\uc810(\uad00\uac1d \uc810\uc218)\uacfc \ube44\ud3c9\uac00\uac00 \ubd80\uc5ec\ud55c \ud3c9\uc810 \ub610\ub294 \ub9ac\ubdf0\ub97c \ube44\uad50\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4(<em>\ud1a0\ub9c8\ud1a0\ubbf8\ud130<\/em>) \ub2e4\uc591\ud55c \uae00\uc4f0\uae30 \uae38\ub4dc \ub610\ub294 \uc601\ud654 \ube44\ud3c9\uac00 \ud611\ud68c\uc758 \uc778\uc99d\ub41c \ud68c\uc6d0\uc785\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uc774 \ube14\ub85c\uadf8\uc5d0 \uc0ac\uc6a9\ub41c \ub450 \ub370\uc774\ud130 \uc138\ud2b8\ub294 \ub2e4\uc74c\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <\/span><a href=\"https:\/\/www.kaggle.com\/stefanoleone992\/rotten-tomatoes-movies-and-critic-reviews-dataset\"><span style=\"font-weight: 400;\">kaggle.com<\/span><\/a><span style=\"font-weight: 400;\">. \ub2e4\uc18c \uc6a9\ub7c9\uc774 \ud070 \ud30c\uc77c\uc774\ubbc0\ub85c \ub9c1\ud06c\ub97c \ud1b5\ud574 \ub2e4\uc6b4\ub85c\ub4dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uc5d0\uc11c <\/span><em><span style=\"font-weight: 400;\">\uc601\ud654<\/span><\/em><span style=\"font-weight: 400;\"> \ub370\uc774\ud130 \uc138\ud2b8\uc5d0\uc11c \uac01 \ub808\ucf54\ub4dc\ub294 \uc601\ud654 \uc81c\ubaa9, \uc124\uba85, \uc7a5\ub974, \uc0c1\uc601 \uc2dc\uac04, \uac10\ub3c5, \ubc30\uc6b0, \uc0ac\uc6a9\uc790 \ud3c9\uc810, \ube44\ud3c9\uac00 \ud3c9\uc810\uc744 \uc2a4\ud06c\ub7a9\ud558\ub294 \ub370 \uc0ac\uc6a9\ub41c URL\uacfc \ud568\uaed8 Rotten Tomatoes\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uc601\ud654\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4. \ub370\uc774\ud130 \uc138\ud2b8\uc758 <\/span><em><span style=\"font-weight: 400;\">\uc601\ud654_\ub9ac\ubdf0<\/span><\/em><span style=\"font-weight: 400;\"> \ub370\uc774\ud130 \uc138\ud2b8\uc5d0\uc11c \uac01 \ub808\ucf54\ub4dc\ub294 \ube44\ud3c9\uac00 \uc774\ub984, \ub9ac\ubdf0 \uac8c\uc2dc\uae00, \ub0a0\uc9dc, \uc810\uc218 \ubc0f \ub0b4\uc6a9\uc744 \uc2a4\ud06c\ub7a9\ud558\ub294 \ub370 \uc0ac\uc6a9\ub41c URL\uacfc \ud568\uaed8 Rotten Tomatoes\uc5d0 \uac8c\uc2dc\ub41c \ube44\ud3c9\uac00 \ub9ac\ubdf0\ub97c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">ML \ubaa8\ub378 \ud559\uc2b5<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">ML\uacfc NoSQL \uac04\uc758 \ud1b5\ud569 \uae30\ub2a5\uc744 \uc0b4\ud3b4\ubcf4\uae30 \uc804\uc5d0 \uba3c\uc800 Python\uc5d0\uc11c \uba38\uc2e0 \ub7ec\ub2dd \ubaa8\ub378\uc744 \uac1c\ubc1c\ud558\uace0 \ud559\uc2b5\ud574\uc57c \ud569\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uc774 \ube14\ub85c\uadf8\uc5d0\uc11c\ub294 scikit-learn \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ud65c\uc6a9\ud558\ub294 \uac04\ub2e8\ud55c \ub85c\uc9c0\uc2a4\ud2f1 \ud68c\uadc0 \ubaa8\ub378\uc744 \uc0ac\uc6a9\ud558\uaca0\uc2b5\ub2c8\ub2e4. \uc774 \ubaa8\ub378\uc758 \ud575\uc2ec\uc740 \ub370\uc774\ud130\ub97c \uac00\uc838\uc640 \uc601\ud654 \ub9ac\ubdf0\uc5d0 \ub300\ud55c \uac10\uc815\uc744 \ubd84\uc11d\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uc544\ub798\uc5d0 \uc124\uba85\ub41c \ub2e8\uacc4\ub97c \ub530\ub974\uac70\ub098 \ub2e4\uc74c\uc5d0\uc11c \ud544\uc694\ud55c \ubaa8\ub4e0 \ud30c\uc77c\uc744 \ub2e4\uc6b4\ub85c\ub4dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <\/span><a href=\"https:\/\/github.com\/couchbaselabs\/AnalyticsML\"><span style=\"font-weight: 400;\">GitHub \ub9ac\ud3ec\uc9c0\ud1a0\ub9ac<\/span><\/a><span style=\"font-weight: 400;\">.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uc774 \ube14\ub85c\uadf8\uc5d0\uc11c\ub294 \uc601\ud654 \ub9ac\ubdf0 \ub370\uc774\ud130 \uc138\ud2b8\uc5d0 \uc624\ud508 \uc18c\uc2a4 \uc608\uce21 \uc54c\uace0\ub9ac\uc998\uc744 \uc0ac\uc6a9\ud558\uc5ec \uac10\uc131\uc744 \uacb0\uc815\ud569\ub2c8\ub2e4. \uc989, \ub9ac\ubdf0\uac00 \ud2b9\uc815 \uc601\ud654\uc5d0 \ub300\ud574 \uae0d\uc815\uc801\uc778\uc9c0 \ubd80\uc815\uc801\uc778\uc9c0 \ud310\ub2e8\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uc624\ub298 \uc608\uc81c\uc5d0\uc11c\ub294 \uc774\uc804\uc5d0 \ub2e4\uc6b4\ub85c\ub4dc\ud55c \ud30c\uc77c\uc758 \ud558\uc704 \uc9d1\ud569\uc744 \uc0ac\uc6a9\ud558\uc5ec \ubaa8\ub378\uc744 \uc774\ubbf8 \ud559\uc2b5\uc2dc\ucf30\uc2b5\ub2c8\ub2e4. \uc774 \ube14\ub85c\uadf8\uc5d0\uc11c\ub294 \ub370\uc774\ud130\ub97c \uac00\uc838\uc624\uae30 \uc704\ud574 \uc27c\ud45c\ub85c \uad6c\ubd84\ub41c CSV(\uc27c\ud45c\ub85c \uad6c\ubd84\ub41c \uac12) \ud30c\uc77c\uc744 \ud65c\uc6a9\ud569\ub2c8\ub2e4.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uc544\ub798\ub294 \ubaa8\ub378 \uc790\uccb4\uc5d0 \ub300\ud55c \ucf54\ub4dc \uc0d8\ud50c\uc785\ub2c8\ub2e4:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12793\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/02\/python.png\" alt=\"\" width=\"1600\" height=\"1152\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python.png 1600w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python-300x216.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python-1024x737.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python-768x553.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python-1536x1106.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python-20x14.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python-1320x950.png 1320w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">\ucf54\ub4dc \uc0d8\ud50c \uc804\uccb4\ub294 \ub2e4\uc74c \ubb38\uc11c\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <\/span><a href=\"https:\/\/github.com\/couchbaselabs\/AnalyticsML\"><span style=\"font-weight: 400;\">GitHub \ub9ac\ud3ec\uc9c0\ud1a0\ub9ac.<\/span><\/a><\/p>\n<p><span style=\"font-weight: 400;\">\uc704\uc5d0 \ud45c\uc2dc\ub41c \ubaa8\ub378 \ud30c\uc774\uc36c \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc2e4\ud589\ud558\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \uacb0\uacfc\uac00 \ud45c\uc2dc\ub429\ub2c8\ub2e4:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12794\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/02\/python2.png\" alt=\"\" width=\"655\" height=\"365\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python2.png 655w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python2-300x167.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python2-20x11.png 20w\" sizes=\"auto, (max-width: 655px) 100vw, 655px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">\uc815\ud655\ub3c4, \ub9ac\ucf5c, F1 \uc810\uc218, \uc9c0\uc6d0\uacfc \uac19\uc740 Scikit-Learn \uba54\ud2b8\ub9ad\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\uc138\uc694. <\/span><a href=\"https:\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.metrics.precision_recall_fscore_support.html\"><span style=\"font-weight: 400;\">\uc5ec\uae30<\/span><\/a><span style=\"font-weight: 400;\">. \uc774\uc81c \ud30c\uc774\uc36c\uc73c\ub85c \uc644\uc804\ud788 \ud559\uc2b5\ub41c \uae30\ub2a5\uc801\uc774\uace0 \uc131\ub2a5\uc774 \uc6b0\uc218\ud55c \uba38\uc2e0 \ub7ec\ub2dd \ubaa8\ub378\uc744 \uac16\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Python \ub77c\uc774\ube0c\ub7ec\ub9ac \ub9cc\ub4e4\uae30<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">\uba38\uc2e0 \ub7ec\ub2dd \ubaa8\ub378\uc744 \ucc38\uc870\ud558\ub824\uba74 Python \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ub9cc\ub4e4\uc5b4\uc57c \ud569\ub2c8\ub2e4. \uc544\ub798\ub294 \uc774 \ud2b9\uc815 \uc608\uc81c\uc758 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc785\ub2c8\ub2e4:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12795\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/02\/python3.png\" alt=\"\" width=\"1600\" height=\"966\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python3.png 1600w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python3-300x181.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python3-1024x618.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python3-768x464.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python3-1536x927.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python3-20x12.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python3-1320x797.png 1320w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">\ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0\ub294 \ub450 \uac00\uc9c0 \uc8fc\uc694 \uad6c\uc131 \uc694\uc18c\uac00 \uc788\uc2b5\ub2c8\ub2e4:<\/span><\/p>\n<p><b>\ubaa8\ub378 \uc0dd\uc131\uc790<\/b><span style=\"font-weight: 400;\">-\uc774 \uc0dd\uc131\uc790\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \ud30c\uc77c\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. <\/span><em><span style=\"font-weight: 400;\">\uac10\uc815_\ubaa8\ub378<\/span><\/em><span style=\"font-weight: 400;\"> \uc5d0\uc11c <\/span><span style=\"font-weight: 400;\"><em>\ud30c\uc774\ud504\ub77c\uc778<\/em> <\/span><span style=\"font-weight: 400;\">\ud3f4\ub354\uc5d0 \uc788\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<p><b>getSentiment \uba54\uc11c\ub4dc<\/b><span style=\"font-weight: 400;\">-\uc774 \uba54\uc11c\ub4dc\ub294 \uc804\ub2ec\ub41c \ub9e4\uac1c \ubcc0\uc218(\ub610\ub294 \uc778\uc218)\uc640 \uad00\ub828\ub41c \uace0\uac1d \uac10\uc131\uc744 \uc608\uce21\ud569\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\ud30c\uc77c\uc744 \ub2e4\uc74c \uc774\ub984\uc73c\ub85c \uc800\uc7a5\ud569\ub2c8\ub2e4. <\/span><i><span style=\"font-weight: 400;\">sentiment.py<\/span><\/i><span style=\"font-weight: 400;\"> \ub0b4\uc5d0\uc11c <\/span><i><span style=\"font-weight: 400;\">\ud30c\uc774\ud504\ub77c\uc778<\/span><\/i><span style=\"font-weight: 400;\"> \ud3f4\ub354\uc5d0 \ud30c\uc77c <\/span><i><span style=\"font-weight: 400;\">\uac10\uc815_\ubaa8\ub378<\/span><\/i><span style=\"font-weight: 400;\">.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">\ub77c\uc774\ube0c\ub7ec\ub9ac \ud328\ud0a4\uc9d5 \ubc0f \ubc30\ud3ec<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">\uc774\uac83\uc740 \uc55e\uc73c\ub85c \uc774\uc5b4\uc9c8 \ud30c\uc774\uc36c \uc0ac\uc6a9\uc790 \uc815\uc758 \ud568\uc218\uc758 \uac15\ub825\ud55c \uae30\ub2a5\uc744 \ud65c\uc6a9\ud558\ub294 \ub370 \uc788\uc5b4 \uc911\uc694\ud55c \ub2e8\uacc4\uc785\ub2c8\ub2e4! \ub2e4\ub978 \uc5b4\ub5a4 \ud568\uc218\ubcf4\ub2e4 \uad6c\ubb38\uc5d0 \ub530\ub77c \ub2ec\ub77c\uc9c0\ubbc0\ub85c \uc138\ubd80 \uc0ac\ud56d\uc5d0 \uc8fc\uc758\ud558\uc138\uc694. \ud574\ub2f9 \uc124\uba85\uc11c\ub97c \uc790\uc138\ud788 \uc77d\uc5b4\ubcf4\uc138\uc694. \ub9c1\ud06c \ub530\ub77c\uac00\uae30 <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/analytics\/9_udf.html#external-functions\"><span style=\"font-weight: 400;\">\uc0ac\uc6a9\uc790 \uc815\uc758 \ud568\uc218\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\uc138\uc694.<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uc774\uc804 \ub2e8\uacc4\uc5d0\uc11c \ub9cc\ub4e0 \ubaa8\ub378\uacfc \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ud328\ud0a4\uc9d5\ud558\uae30 \uc704\ud574 shiv \uc720\ud2f8\ub9ac\ud2f0\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. shiv\uac00 \uc544\uc9c1 \uc124\uce58\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \uacbd\uc6b0 \ub2e4\uc74c \uba85\ub839\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. <\/span><i><span style=\"font-weight: 400;\">pip \uc124\uce58 \uc2dc\ube0c<\/span><\/i><i><span style=\"font-weight: 400;\"> (\ub610\ub294 <\/span><\/i><i><span style=\"font-weight: 400;\">pip3 \uc124\uce58 shiv<\/span><\/i><span style=\"font-weight: 400;\"> \ub85c \ubcc0\uacbd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.) \ub610\ud55c \uc774 \uba85\ub839\uc904 \uc720\ud2f8\ub9ac\ud2f0\uc5d0 \ub300\ud55c \uc124\uba85\uc11c\ub97c \uc77d\uace0 \uc2f6\ub2e4\uba74 \ub2e4\uc74c\uc5d0\uc11c \ucc3e\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <\/span><a href=\"https:\/\/shiv.readthedocs.io\/en\/latest\/\"><span style=\"font-weight: 400;\">\uc5ec\uae30<\/span><\/a><span style=\"font-weight: 400;\">.\u00a0<\/span><\/p>\n<p><b>\ubaa8\ub378\uc744 \ud328\ud0a4\uc9d5\ud558\ub294 \ub2e8\uacc4:<\/b><\/p>\n<ul>\n<li><span style=\"font-weight: 400;\">\ub178\ud2b8\ubd81\uc5d0\uc11c \uac10\uc815 \ubaa8\ub378\uacfc \ubaa8\ub378 \ucf54\ub4dc\ub97c \ud328\ud0a4\uc9d5\ud569\ub2c8\ub2e4. \uc774\ub807\uac8c \ud558\uba74 \uc790\uccb4 \uc2e4\ud589\uc774 \uac00\ub2a5\ud558\uace0 \ub77c\uc774\ube0c\ub7ec\ub9ac \uc885\uc18d\uc131\uc774 \uc81c\uac70\ub429\ub2c8\ub2e4:<\/span><\/li>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><i><span style=\"font-weight: 400;\">shiv -\uc0ac\uc774\ud2b8-\ud328\ud0a4\uc9c0 \ud30c\uc774\ud504\ub77c\uc778\/ -o pipeline.pyz -\ud50c\ub7ab\ud3fc manylinux1_x86_64 -python-version 39 -only-binary=:all: scikit-learn<\/span><\/i><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">-\ud50c\ub7ab\ud3fc manylinux1_x86_64<\/span><span style=\"font-weight: 400;\"> \ub294 Linux\ub97c \uc2e4\ud589\ud558\ub294 \uac00\uc0c1 \uba38\uc2e0\uc744 \uc0ac\uc6a9\ud560 \ub54c\ub9cc \ud544\uc694\ud569\ub2c8\ub2e4.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\ud544\uc694\ud55c \uc885\uc18d\uc131\uc774 \ud3ec\ud568\ub41c \ub3c5\ub9bd\ud615 Python \ud328\ud0a4\uc9c0\ub97c \ubd84\uc11d \uc11c\ubc84\uc5d0 \ubcf5\uc0ac\ud569\ub2c8\ub2e4:<\/span>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><i><span style=\"font-weight: 400;\">\ub3c4\ucee4 cp \ud30c\uc774\ud504\ub77c\uc778.pyz cb-analytics:\/tmp\/<\/span><\/i><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\uc758 \uc178\uc5d0 \uc561\uc138\uc2a4\ud569\ub2c8\ub2e4. <\/span><span style=\"font-weight: 400;\">CB-\ubd84\uc11d<\/span><span style=\"font-weight: 400;\"> \ub3c4\ucee4 \ucee8\ud14c\uc774\ub108:<\/span>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">\ub3c4\ucee4 \uc2e4\ud589 -it cb-analytics bash<\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Docker \uc178 \ub0b4\ubd80\uc5d0\uc11c <\/span><span style=\"font-weight: 400;\">tmp <\/span><span style=\"font-weight: 400;\">\ud3f4\ub354\uc5d0 zip \ud30c\uc77c\uc744 \ub123\uace0 \ub450 \ubc84\ud0b7\uc5d0 \ud544\uc694\ud55c \ub370\uc774\ud130\ub97c \uac00\uc838\uc635\ub2c8\ub2e4:<\/span>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><i><span style=\"font-weight: 400;\">cd \/tmp<\/span><\/i><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><i><span style=\"font-weight: 400;\">curl -v -X POST -F \"data=@.\/pipeline.pyz\" -F \"type=python\" \"localhost:8095\/analytics\/library\/Default\/sentimentlibrary\" -u Administrator:password;<\/span><\/i><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">\uc2dc\uc2a4\ud15c\uc774 \uc644\ub8cc\ub418\uba74 \uc5c5\ub370\uc774\ud2b8\ub418\uba70 \uc774 HTTP 200 \uc751\ub2f5\uc774 \ud45c\uc2dc\ub418\uba74 \uc131\uacf5\uc785\ub2c8\ub2e4:<\/span><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12796\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/02\/python4.png\" alt=\"\" width=\"814\" height=\"248\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python4.png 814w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python4-300x91.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python4-768x234.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python4-20x6.png 20w\" sizes=\"auto, (max-width: 814px) 100vw, 814px\" \/><\/p>\n<h4><span style=\"font-weight: 400;\">\ubd84\uc11d\ud560 UDF\uc6a9 \ubc84\ud0b7 \ubb38\uc11c \uac00\uc838\uc624\uae30<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">\ub85c\uceec \uba38\uc2e0\uc5d0\uc11c \uc218\ud589\ud574\uc57c \ud560 \ub450 \uac00\uc9c0 \ub2e8\uacc4\uc640 Docker \uc778\uc2a4\ud134\uc2a4\uc5d0\uc11c \uc2e4\ud589\ud574\uc57c \ud560 \uc138 \uac00\uc9c0 \uba85\ub839\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<p><b>\ub85c\uceec \uba38\uc2e0<\/b><\/p>\n<p><span style=\"font-weight: 400;\">0. \ubc84\ud0b7 \ub9cc\ub4e4\uae30 <\/span><em><span style=\"font-weight: 400;\">\uc601\ud654<\/span><\/em><span style=\"font-weight: 400;\"> \ub610\ub294 <\/span><em><span style=\"font-weight: 400;\">\uc601\ud654_\ub9ac\ubdf0 <\/span><\/em><span style=\"font-weight: 400;\">\uc5d0\uc11c <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/manage\/manage-buckets\/create-bucket.html#create-bucket-using-couchbase-web-console\"><span style=\"font-weight: 400;\">\uc6f9 \ucf58\uc194<\/span><\/a><span style=\"font-weight: 400;\"> \ub610\ub294 <\/span><em><a href=\"https:\/\/docs.couchbase.com\/server\/current\/cli\/cbcli\/couchbase-cli-bucket-create.html#examples\"><span style=\"font-weight: 400;\">couchbase-cli<\/span><\/a><\/em><span style=\"font-weight: 400;\"> \uba85\ub839<\/span><\/p>\n<ol>\n<li><span style=\"font-weight: 400;\">\uc2e4\ud589: <\/span><span style=\"font-weight: 400;\"><em>\ub3c4\ucee4 cp rotten_tomatoes_critic_reviews.csv<\/em> <em>cb:\/tmp\/ <\/em><\/span>\uc774 \ud30c\uc77c\uc740 GUI \uac00\uc838\uc624\uae30 \uc720\ud2f8\ub9ac\ud2f0\uc758 100Mb \uc81c\ud55c\uc744 \ucd08\uacfc\ud558\ubbc0\ub85c \uc9c1\uc811 \uac00\uc838\uc640\uc57c \ud569\ub2c8\ub2e4.<\/li>\n<\/ol>\n<p><b>\ub3c4\ucee4 \uc778\uc2a4\ud134\uc2a4<\/b><\/p>\n<p><em><span style=\"font-weight: 400;\">2. docker exec -it cb bash<\/span><\/em><\/p>\n<p><em><span style=\"font-weight: 400;\">3. cbimport csv -infer-types -c https:\/\/localhost:8091 -u \uad00\ub9ac\uc790 -p \ube44\ubc00\ubc88\ud638 -d 'file:\/\/rotten_tomatoes_critic_reviews.csv' -b 'movie_reviews' -scope-collection-exp \"_default._\uae30\ubcf8\uac12\" -g \"%rotten_tomatoes_link%\"<\/span><\/em><\/p>\n<p><em><span style=\"font-weight: 400;\">cbimport csv -infer-types -c https:\/\/localhost:8091 -u \uad00\ub9ac\uc790 -p \ube44\ubc00\ubc88\ud638 -d 'file:\/\/rotten_tomatoes_movies.csv' -b 'movies' -scope-collection-exp \"_default._default\" -g \"%rotten_tomatoes_link%\"<\/span><\/em><\/p>\n<p><span style=\"font-weight: 400;\">\ub9c8\uc9c0\ub9c9 \ud30c\uc77c(<\/span><em><span style=\"font-weight: 400;\">rotten_tomatoes_movies.csv<\/span><\/em><span style=\"font-weight: 400;\">)\ub97c \uc704\uc640 \uac19\uc774 \uba85\ub839\uc904\uc5d0\uc11c \uc2e4\ud589\ud558\uac70\ub098 <\/span><i><span style=\"font-weight: 400;\">Couchbase \uc6f9 \ucf58\uc194 &gt; \ubb38\uc11c &gt; \uac00\uc838\uc624\uae30<\/span><\/i><span style=\"font-weight: 400;\"> \uc2a4\ud06c\ub9b0\uc0f7\uacfc \uac19\uc774 Couchbase \ud3ec\ud138\uc758 \ud654\uba74\uc73c\ub85c \uc774\ub3d9\ud569\ub2c8\ub2e4:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12797\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/02\/python5.png\" alt=\"\" width=\"1600\" height=\"545\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python5.png 1600w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python5-300x102.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python5-1024x349.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python5-768x262.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python5-1536x523.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python5-20x7.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python5-1320x450.png 1320w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">\uc774\uc81c \ub450 \uac1c\uc758 \ubc84\ud0b7\uc5d0 \ubb38\uc11c\uac00 \uc788\uc73c\uba70, \uc5ec\uae30\uc5d0\ub294 \uac10\uc815 \ubd84\uc11d\uc744 \uc2e4\ud589\ud560 Couchbase\uc758 \ub9ac\ubdf0\uc640 \uc601\ud654 \uc694\uc57d\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12798\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/02\/python6.png\" alt=\"\" width=\"715\" height=\"377\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python6.png 715w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python6-300x158.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/02\/python6-20x11.png 20w\" sizes=\"auto, (max-width: 715px) 100vw, 715px\" \/><\/p>\n<h4><span style=\"font-weight: 400;\">UDF \uc791\uc131<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">\uc774\uc81c \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc560\ub110\ub9ac\ud2f1\uc2a4\uc5d0\uc11c \uc0ac\uc6a9\uc790 \uc815\uc758 \ud568\uc218\ub97c \uc9c1\uc811 \uc791\uc131\ud574 \ubcfc \ucc28\ub840\uc785\ub2c8\ub2e4. \ub2e4\uc2dc \ud55c \ubc88 \ubcf5\uc2b5\uc774 \ud544\uc694\ud55c \uacbd\uc6b0 \ub2e4\uc74c \ubb38\uc11c\uc5d0 \ub300\ud55c \ub9c1\ud06c\ub97c \ucc38\uc870\ud558\uc138\uc694. <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/analytics\/9_udf.html\"><span style=\"font-weight: 400;\">\uc0ac\uc6a9\uc790 \uc815\uc758 \uae30\ub2a5<\/span><\/a><span style=\"font-weight: 400;\">. \ub77c\uc774\ube0c\ub7ec\ub9ac( <\/span><em><span style=\"font-weight: 400;\">\ubaa8\ub378<\/span><\/em><span style=\"font-weight: 400;\"> \uc0dd\uc131\uc790 \ubc0f <\/span><em><span style=\"font-weight: 400;\">getSentiment <\/span><\/em><span style=\"font-weight: 400;\">\uba54\uc11c\ub4dc)\ub97c 2\ub2e8\uacc4\uc5d0\uc11c \uc0dd\uc131\ud55c \ub2e4\uc74c 3\ub2e8\uacc4\uc5d0\uc11c \uc560\ub110\ub9ac\ud2f1\uc2a4 \uc11c\ubc84\uc5d0 \uc5c5\ub85c\ub4dc\ud588\uc2b5\ub2c8\ub2e4. \uc774\uc81c \ub2e4\uc74c \uc0ac\uc6a9\uc790 \uc815\uc758 \ud568\uc218\uc5d0\uc11c \ucc38\uc870\ub429\ub2c8\ub2e4:<\/span><\/p>\n<pre class=\"\">CREATE ANALYTICS FUNCTION getReviewSentiment(text) AS \"sentiment\", \"Model.getSentiment\" \r\nAT sentimentlibrary;<\/pre>\n<p><span style=\"font-weight: 400;\">\uac19\uc740 \uc704\uce58\uc5d0 Analytics UDF\ub97c \ub9cc\ub4ed\ub2c8\ub2e4(<\/span><em><span style=\"font-weight: 400;\">\uac10\uc815 \ub77c\uc774\ube0c\ub7ec\ub9ac<\/span><\/em><span style=\"font-weight: 400;\">)\uc5d0 \uc9c0\uc815\ub41c \ub300\ub85c <\/span><span style=\"font-weight: 400;\">curl <\/span><span style=\"font-weight: 400;\">\ud568\uc218\uc785\ub2c8\ub2e4.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">UDF \ud638\ucd9c\ud558\uae30<\/span><\/h4>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">\uc774\uc81c N1QL\uc758 \uae30\ub2a5\uc744 \ud65c\uc6a9\ud558\uc5ec Couchbase Analytics \ub0b4\uc5d0\uc11c \uc608\uce21 \ucffc\ub9ac\ub97c \uc791\uc131\ud558\uc5ec UDF\uc5d0\uc11c \uac15\ub825\ud55c \uc778\uc0ac\uc774\ud2b8\ub97c \ub3c4\ucd9c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub0b4\ubd80\uc801\uc73c\ub85c, \uc774 UDF\ub97c \ud638\ucd9c\ud560 \ub54c \uc774 \ucffc\ub9ac\ub294 \uae30\ubcf8 <\/span><b>\ubaa8\ub378 <\/b><span style=\"font-weight: 400;\">\uba54\uc11c\ub4dc\ub97c \uc0ac\uc6a9\ud558\uc5ec \uac01 \ud589\uc744 \ubc18\ubcf5\ud558\uc5ec \uac10\uc131 \ubd84\uc11d\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uc740 \uc774\ub7ec\ud55c \ucffc\ub9ac\uc758 \uae30\ubcf8 \uc608\uc2dc\uc774\uc9c0\ub9cc, \uadf8 \uac00\ub2a5\uc131\uc740 \uc815\ub9d0 \ubb34\uad81\ubb34\uc9c4\ud569\ub2c8\ub2e4.<\/span><\/p>\n<pre class=\"\">USE Default;\r\nSELECT getReviewSentiment(r.review_content) AS sentiment, COUNT(*) AS sentimentCount\r\nFROM movie_reviews r, movies m\r\nWHERE m.rotten_tomatoes_link = r.rotten_tomatoes_link\r\nGROUP BY getReviewSentiment(r.review_content)\r\nORDER BY sentimentCount DESC;<\/pre>\n<p><span style=\"font-weight: 400;\">\uc774\ub7ec\ud55c \ucffc\ub9ac\ub97c \uc0ac\uc6a9\ud558\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \uacb0\uacfc\ub97c \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/span><\/p>\n<pre class=\"\">[\r\n{\r\n\"sentimentCount\": 10105,\r\n\"sentiment\": \"Fresh\"\r\n},\r\n{\r\n\"sentimentCount\": 7601,\r\n\"sentiment\": \"Rotten\"\r\n}\r\n]<\/pre>\n<p><span style=\"font-weight: 400;\">\uc774\uc81c \ud559\uc2b5\ub41c \ubaa8\ub378\uc5d0 \uc758\ud574 \uc815\uc758\ub41c \uae0d\uc815\uc801, \uc911\ub9bd\uc801, \ubd80\uc815\uc801 \uac10\uc131\uc774 \uc21c\uc11c\ub300\ub85c \uc9d1\uacc4\ub429\ub2c8\ub2e4.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">\uacb0\ub860<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">\ucd95\ud558\ud569\ub2c8\ub2e4. \ubc29\uae08 Docker\uc5d0\uc11c \ud544\uc694\ud55c Couchbase Server \ud658\uacbd\uc744 \uc124\uc815\ud558\uace0 Couchbase Analytics\uc5d0\uc11c \uccab \ubc88\uc9f8 \uc0ac\uc6a9\uc790 \uc815\uc758 \ud568\uc218\ub97c \uc131\uacf5\uc801\uc73c\ub85c \uc2e4\ud589\ud588\uc2b5\ub2c8\ub2e4. \ubcf4\uc2dc\ub2e4\uc2dc\ud53c, Python ML \ubaa8\ub378\uacfc UDF \ubc0f Couchbase Analytics\uc758 \ud1b5\ud569\uc740 \uc131\ub2a5\uc774\ub098 \ud6a8\uc728\uc131\uc744 \uc800\ud558\uc2dc\ud0a4\uc9c0 \uc54a\uc73c\uba74\uc11c \ub370\uc774\ud130\uc5d0\uc11c \uac00\uce58 \uc788\ub294 \uc815\ubcf4\ub97c \ucd94\ucd9c\ud558\ub294 \ud6a8\uacfc\uc801\uc778 \ubc29\ubc95\uc774 \ub420 \uac83\uc785\ub2c8\ub2e4.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uc9c8\ubb38\uc774\ub098 \ud53c\ub4dc\ubc31\uc774 \uc788\uc73c\uba74 \uc544\ub798 \ub313\uae00\uc774\ub098 \ub2e4\uc74c \uac8c\uc2dc\ubb3c\uc744 \ud1b5\ud574 \uc5b8\uc81c\ub4e0\uc9c0 \uacf5\uc720\ud574 \uc8fc\uc138\uc694. <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/forums\/\"><span style=\"font-weight: 400;\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ud3ec\ub7fc<\/span><\/a><span style=\"font-weight: 400;\">. \uadc0\uc0ac\uc5d0\uc11c ML\uacfc NoSQL\uc758 \uac15\ub825\ud55c \uae30\ub2a5\uc744 \uc5d4\ud130\ud504\ub77c\uc774\uc988\uc5d0 \uc5b4\ub5bb\uac8c \uacb0\ud569\ud560\uc9c0 \uae30\ub300\uac00 \ub429\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc560\ub110\ub9ac\ud2f1\uc2a4\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\ub824\uba74 \uc5f0\uacb0 \uc138\uc158\uc744 \uc2dc\uccad\ud558\uc138\uc694: <\/span><a href=\"https:\/\/www.youtube.com\/watch?v=nyHUKfTMKDQ\"><span style=\"font-weight: 400;\">\uba38\uc2e0 \ub7ec\ub2dd\uacfc NoSQL\uc758 \ub9cc\ub0a8: Python UDF<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><iframe loading=\"lazy\" title=\"\uba38\uc2e0 \ub7ec\ub2dd\uacfc NoSQL\uc758 \ub9cc\ub0a8: \ud30c\uc774\uc36c UDF - CBConnect21\" width=\"900\" height=\"506\" src=\"https:\/\/www.youtube.com\/embed\/nyHUKfTMKDQ?feature=oembed&#038;enablejsapi=1&#038;origin=https:\/\/www.couchbase.com\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/p>\n<p><span style=\"font-weight: 400;\">\ub2e4\uc74c\uc740 \uc774 \uac8c\uc2dc\ubb3c\uc5d0 \uc5b8\uae09\ub41c \ub9c1\ud06c\uc640 \uc8fc\uc81c\ub97c \uc694\uc57d\ud55c \ub0b4\uc6a9\uc785\ub2c8\ub2e4:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/ml-meets-nosql-integrating-python-user-defined-functions-with-n1ql-for-analytics\/\"><span style=\"font-weight: 400;\">1\ubd80 - ML\uacfc NoSQL\uc758 \ub9cc\ub0a8: \ubd84\uc11d\uc744 \uc704\ud55c Python \uc0ac\uc6a9\uc790 \uc815\uc758 \ud568\uc218\uc640 N1QL\uc758 \ud1b5\ud569<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/github.com\/couchbaselabs\/AnalyticsML\"><span style=\"font-weight: 400;\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc560\ub110\ub9ac\ud2f1\uc2a4ML GitHub \ub9ac\ud3ec\uc9c0\ud1a0\ub9ac<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/www.kaggle.com\/stefanoleone992\/rotten-tomatoes-movies-and-critic-reviews-dataset\"><span style=\"font-weight: 400;\">\ub85c\ud2bc \ud1a0\ub9c8\ud1a0 \ub9ac\ubdf0\uc758 Kaggle \ub370\uc774\ud130 \uc138\ud2b8<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/docs.couchbase.com\/server\/current\/analytics\/9_udf.html\"><span style=\"font-weight: 400;\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc0ac\uc6a9\uc790 \uc815\uc758 \ud568\uc218 \ubb38\uc11c<\/span><\/a><\/li>\n<\/ul>\n<p><b data-stringify-type=\"bold\">\uac10\uc0ac<\/b><br \/>\n\ub355\ubd84\uc5d0\u00a0<b data-stringify-type=\"bold\">\uc544\ub204\uc988 \ucf54\ud0c0\ub9ac,\u00a0<\/b>\uc9c0\ub09c \uc5ec\ub984\uc5d0 \uc774 \uc11c\ube44\uc2a4\ub97c \ucc98\uc74c \uc2dc\uc791\ud558\uace0 \uc2dc\uc791\ud558\uac8c \ud574\uc900 Couchbase \uc560\ub110\ub9ac\ud2f1\uc2a4 \uc11c\ube44\uc2a4\uc758 \uc5ec\ub984 \uc81c\ud488 \uad00\ub9ac \uc778\ud134\uc774\uc5c8\uc2b5\ub2c8\ub2e4. \ub355\ubd84\uc5d0\u00a0<b data-stringify-type=\"bold\">\uc774\ub4dc\ub9ac\uc2a4 \ubaa8\ud2f0\uc648\ub77c<\/b>, \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc560\ub110\ub9ac\ud2f1\uc2a4 \uc11c\ube44\uc2a4 \uc218\uc11d \uc81c\ud488 \uad00\ub9ac\uc790, \uadf8\ub9ac\uace0\u00a0<b data-stringify-type=\"bold\">\uc774\uc548 \ub9e5\uc2a8<\/b>\ubcf4\ub2e4 \uae30\ub2a5\uc801\uc778 \ube14\ub85c\uadf8\ub97c \ub9cc\ub4e4\uae30 \uc704\ud574 \ud3b8\uc9d1 \uc791\uc5c5\uc744 \ud574\uc900 Couchbase \ubd84\uc11d \uc11c\ube44\uc2a4\uc758 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc5d4\uc9c0\ub2c8\uc5b4\uc5d0\uac8c \uac10\uc0ac\ub97c \ud45c\ud569\ub2c8\ub2e4.<\/p>","protected":false},"excerpt":{"rendered":"<p>With Couchbase 7.0 you&#8217;re now capable of allowing integration of Python UDFs with Couchbase Analytics. In Part 1 of this blog series, we covered the essentials for getting Couchbase and the Analytics for Machine Learning (ML) set up. ML has [&hellip;]<\/p>","protected":false},"author":79257,"featured_media":12627,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[2294,9139,2201],"tags":[2140,1725],"ppma_author":[9482],"class_list":["post-12792","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-analytics","category-python","category-tools-sdks","tag-machine-learning","tag-nosql-database"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.0 (Yoast SEO v26.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Leveraging your ML models with Couchbase Analytics User Defined Functions (UDF) - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"In this blog post we walk you though to show you how to apply external algorithms to data that is resident in Couchbase.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/ko\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Leveraging your ML models with Couchbase Analytics User Defined Functions (UDF)\" \/>\n<meta property=\"og:description\" content=\"In this blog post we walk you though to show you how to apply external algorithms to data that is resident in Couchbase.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-02-16T16:34:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T04:25:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/simon-abrams-k_T9Zj3SE8k-unsplash-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1706\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Muk Sreenivasan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Muk Sreenivasan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/\"},\"author\":{\"name\":\"Muk Sreenivasan\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b37fc76b5459210102cef15674423031\"},\"headline\":\"Leveraging your ML models with Couchbase Analytics User Defined Functions (UDF)\",\"datePublished\":\"2022-02-16T16:34:12+00:00\",\"dateModified\":\"2025-06-14T04:25:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/\"},\"wordCount\":1514,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/simon-abrams-k_T9Zj3SE8k-unsplash-scaled.jpg\",\"keywords\":[\"Machine Learning (ML)\",\"NoSQL Database\"],\"articleSection\":[\"Couchbase Analytics\",\"Python\",\"Tools &amp; SDKs\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/\",\"name\":\"Leveraging your ML models with Couchbase Analytics User Defined Functions (UDF) - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/simon-abrams-k_T9Zj3SE8k-unsplash-scaled.jpg\",\"datePublished\":\"2022-02-16T16:34:12+00:00\",\"dateModified\":\"2025-06-14T04:25:06+00:00\",\"description\":\"In this blog post we walk you though to show you how to apply external algorithms to data that is resident in Couchbase.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/simon-abrams-k_T9Zj3SE8k-unsplash-scaled.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/simon-abrams-k_T9Zj3SE8k-unsplash-scaled.jpg\",\"width\":2560,\"height\":1706,\"caption\":\"Couchbase Capella 2 years!\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Leveraging your ML models with Couchbase Analytics User Defined Functions (UDF)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b37fc76b5459210102cef15674423031\",\"name\":\"Muk Sreenivasan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/194f54236bbc53ba3b1b5550c654d008\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/muk_sreenivasan.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/muk_sreenivasan.png\",\"caption\":\"Muk Sreenivasan\"},\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/muk-sreenivasan\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Leveraging your ML models with Couchbase Analytics User Defined Functions (UDF) - The Couchbase Blog","description":"\uc774 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc5d0\uc11c\ub294 Couchbase\uc5d0 \uc0c1\uc8fc\ud558\ub294 \ub370\uc774\ud130\uc5d0 \uc678\ubd80 \uc54c\uace0\ub9ac\uc998\uc744 \uc801\uc6a9\ud558\ub294 \ubc29\ubc95\uc744 \uc548\ub0b4\ud569\ub2c8\ub2e4.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/ko\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/","og_locale":"ko_KR","og_type":"article","og_title":"Leveraging your ML models with Couchbase Analytics User Defined Functions (UDF)","og_description":"In this blog post we walk you though to show you how to apply external algorithms to data that is resident in Couchbase.","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/","og_site_name":"The Couchbase Blog","article_published_time":"2022-02-16T16:34:12+00:00","article_modified_time":"2025-06-14T04:25:06+00:00","og_image":[{"width":2560,"height":1706,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/simon-abrams-k_T9Zj3SE8k-unsplash-scaled.jpg","type":"image\/jpeg"}],"author":"Muk Sreenivasan","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Muk Sreenivasan","Est. reading time":"8\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/"},"author":{"name":"Muk Sreenivasan","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b37fc76b5459210102cef15674423031"},"headline":"Leveraging your ML models with Couchbase Analytics User Defined Functions (UDF)","datePublished":"2022-02-16T16:34:12+00:00","dateModified":"2025-06-14T04:25:06+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/"},"wordCount":1514,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/simon-abrams-k_T9Zj3SE8k-unsplash-scaled.jpg","keywords":["Machine Learning (ML)","NoSQL Database"],"articleSection":["Couchbase Analytics","Python","Tools &amp; SDKs"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/","url":"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/","name":"Leveraging your ML models with Couchbase Analytics User Defined Functions (UDF) - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/simon-abrams-k_T9Zj3SE8k-unsplash-scaled.jpg","datePublished":"2022-02-16T16:34:12+00:00","dateModified":"2025-06-14T04:25:06+00:00","description":"\uc774 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc5d0\uc11c\ub294 Couchbase\uc5d0 \uc0c1\uc8fc\ud558\ub294 \ub370\uc774\ud130\uc5d0 \uc678\ubd80 \uc54c\uace0\ub9ac\uc998\uc744 \uc801\uc6a9\ud558\ub294 \ubc29\ubc95\uc744 \uc548\ub0b4\ud569\ub2c8\ub2e4.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/simon-abrams-k_T9Zj3SE8k-unsplash-scaled.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/12\/simon-abrams-k_T9Zj3SE8k-unsplash-scaled.jpg","width":2560,"height":1706,"caption":"Couchbase Capella 2 years!"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/leveraging-your-ml-models-with-couchbase-analytics-user-defined-functions-udf\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Leveraging your ML models with Couchbase Analytics User Defined Functions (UDF)"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","description":"NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4, Couchbase","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b37fc76b5459210102cef15674423031","name":"\ubb35 \uc2a4\ub9ac\ub2c8\ubc14\uc0b0","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/194f54236bbc53ba3b1b5550c654d008","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/muk_sreenivasan.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/muk_sreenivasan.png","caption":"Muk Sreenivasan"},"url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/muk-sreenivasan\/"}]}},"authors":[{"term_id":9482,"user_id":79257,"is_guest":0,"slug":"muk-sreenivasan","display_name":"Muk Sreenivasan","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/muk_sreenivasan.png","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/03\/muk_sreenivasan.png"},"author_category":"","last_name":"Sreenivasan","first_name":"Muk","job_title":"","user_url":"","description":"Muk is a Senior Sales Engineer at Couchbase covering the west coast of the United States. He has over 20 years experience in product support, product development, product management and Sales. He lives and works in Silicon Valley."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/12792","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/users\/79257"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=12792"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/12792\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/12627"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=12792"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=12792"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=12792"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=12792"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}