{"id":3898,"date":"2021-11-21T07:05:29","date_gmt":"2021-11-20T22:05:29","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=3898"},"modified":"2021-12-05T14:22:15","modified_gmt":"2021-12-05T05:22:15","slug":"trino-%ea%b0%80-%eb%ad%98%ea%b9%8c","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=3898","title":{"rendered":"Trino(Presto SQL) \uac00 \ubb58\uae4c&#8230;"},"content":{"rendered":"<h1>Trino(Presto SQL) \uac00 \ubb58\uae4c&#8230;<\/h1>\n<p><a href=\"https:\/\/medium.com\/@sean.azoci\/apache-presto-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0-11faddcc4052\">\ucc38\uc870<\/a><\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=y58sb9bW2mA&amp;ab_channel=Trino\">\ucc38\uc870<\/a><\/p>\n<p><a href=\"https:\/\/www.popit.kr\/presto-zeppelin%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%B4%88%EA%B0%84%EB%8B%A8-bi-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EA%B5%AC%EC%B6%95-%EC%82%AC%EB%A1%802\/\">\ucc38\uc870<\/a><\/p>\n<p>\uc77c\ub2e8 Trino \ub85c \uac80\uc0c9\ud558\uba74 \ubb38\uc11c\uac00 \uadf8\ub2e5 \uc5c6\ub2e4.<\/p>\n<p>Trino \ub294 Presto \uc758 rename \ubc84\uc804\uc774\ub2e4.<br \/>\n(\uc800\uc791\uad8c \ubb38\uc81c\ub85c)<\/p>\n<p>Presto \ub85c \uac80\uc0c9\ud574\uc11c \uae30\ubcf8 \uc9c0\uc2dd\uc744 \ub9cc\ub4e4\uace0,<br \/>\nTrino \uc5d0\uc11c \ub2ec\ub77c\uc9c4 \uc810\uc744 \ucc3e\uc544\ubcf4\uc790.<\/p>\n<h2>\ud1b5\uacc4 \ubf51\uc544\uc8fc\uc138\uc694 \uc5d0\uc11c \ubc97\uc5b4\ub098 \ubcf4\uc790.<\/h2>\n<pre><code class=\"language-sql\">SELECT\n    orders.orderkey, SUM(tax)\nFROM\n    orders\n    LEFT JOIN lineitem\n    ON orders.orderkey = lineitem.orderkey\nWHERE\n    discount = 0\nGROUP BY\n    orders.orderkey<\/code><\/pre>\n<p>\uac1c\ubc1c\uc790\uac00 \ub9e4\ubc88 \ud1b5\uacc4\ub97c \ubf51\uc544 \uc8fc\ub294 \ub300\uc2e0,<br \/>\n\uc2e4\ubb34\uc790\uac00 \uc9c1\uc811 \ucffc\ub9ac\ub97c \uc791\uc131\ud558\uac8c \ud558\uba74,<br \/>\n\uac1c\ubc1c\uc790\ub294 \ubc18\ubcf5\ub418\ub294 \ub2e8\uc21c \uc5c5\ubb34\ub97c \uc904\uc77c \uc218 \uc788\uace0,<br \/>\n\uc2e4\ubb34\uc790\ub294 \ub204\uad6c \ub208\uce58 \uc548\ubcf4\uace0 \ubcf4\uace0\uc2f6\uc740 \ub370\uc774\ud0c0\ub97c \uc5d1\uc140\ub2e4\ub8e8\ub4ef\uc774 \ub9d8\ub300\ub85c \ubf51\uc544 \ubcfc \uc218 \uc788\ub2e4.<\/p>\n<h2>\uc124\uce58<\/h2>\n<p><a href=\"https:\/\/trino.io\/download.html\">\uc5ec\uae30<\/a> \uc5d0\uc11c \uc124\uce58\ud30c\uc77c\uc744 \ub2e4\uc6b4\ubc1b\ub294\ub2e4.<\/p>\n<h3>Server package<\/h3>\n<pre><code class=\"language-bash\"># mkdir ~\/trino\n# cd ~\/trino\/\n# \n# wget https:\/\/repo1.maven.org\/maven2\/io\/trino\/trino-server\/364\/trino-server-364.tar.gz\n#\n# tar xvfz trino-server-364.tar.gz\n# cd trino-server-364\/<\/code><\/pre>\n<p>\ub3c4\ucee4\ub85c \uc124\uce58\ud558\uc790.<\/p>\n<pre><code class=\"language-bash\">docker pull trinodb\/trino<\/code><\/pre>\n<p>\ud14c\uc2a4\ud2b8\uc6a9\uc73c\ub85c \ud558\ub098\uc758 \ub178\ub4dc\ub9cc \uc2e4\ud589\ud574 \ubcf4\uc790.<\/p>\n<pre><code class=\"language-bash\">docker run -p 9080:8080 --name trino trinodb\/trino<\/code><\/pre>\n<h3>Command line client<\/h3>\n<pre><code class=\"language-bash\"># cd ~\/trino\/\n# wget https:\/\/repo1.maven.org\/maven2\/io\/trino\/trino-cli\/364\/trino-cli-364-executable.jar<\/code><\/pre>\n<pre><code class=\"language-bash\">docker exec -it trino trino\n\ntrino&gt; SHOW CATALOGS;\ntrino&gt; SHOW SCHEMAS IN tpch;\ntrino&gt; SHOW SCHEMAS FROM tpch;\ntrino&gt; SHOW TABLES IN tpch.sf1;\n\ntrino&gt; SELECT * FROM tpch.sf1.nation WHERE nationkey = 1;\n\ntrino&gt; USE tpch.sf1;\ntrino:sf1&gt; SHOW TABLES;\n\ntrino:sf1&gt; DESCRIBE nation;\ntrino:sf1&gt; SELECT * FROM nation;\ntrino:sf1&gt; SELECT * FROM orders LIMIT 10;\n\ntrino:sf1&gt; SHOW FUNCTIONS;<\/code><\/pre>\n<h2>JDBC driver<\/h2>\n<pre><code class=\"language-bash\">cd ~\/trino\/\nwget https:\/\/repo1.maven.org\/maven2\/io\/trino\/trino-jdbc\/364\/trino-jdbc-364.jar<\/code><\/pre>\n<h2>Connectors<\/h2>\n<p>\uc544\ub798\uc758 \ub370\uc774\ud0c0\ub97c \ucc98\ub9ac\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p><a href=\"https:\/\/trino.io\/docs\/current\/connector.html\">https:\/\/trino.io\/docs\/current\/connector.html<\/a><\/p>\n<h2>nomad \uc5d0 trino \uc62c\ub9ac\uae30<\/h2>\n<p>\uc544\ub798\uc758 \ubc29\ubc95\uc73c\ub85c \ub178\ub9c8\ub4dc \uc11c\ubc84\uc5d0 trino \ub97c \ubc30\ud3ec\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p><a href=\"https:\/\/github.com\/skyer9\/TerraformOnAws\/blob\/main\/run_jobs\/trino_dev.nomad\">https:\/\/github.com\/skyer9\/TerraformOnAws\/blob\/main\/run_jobs\/trino_dev.nomad<\/a><\/p>\n<p>\uc544\ub798\uc758 \ubc29\ubc95\uc73c\ub85c trino \uc5d0 \uc811\uc18d\ud560 \uc218 \uc788\ub2e4.<\/p>\n<pre><code class=\"language-bash\">docker exec -it b3c7f8db67c2 trino --server=http:\/\/192.168.0.9:29203 --catalog mysql\n\ntrino&gt; SHOW CATALOGS ;\n Catalog\n---------\n mysql\n system\n(2 rows)\n\nQuery 20211121_110139_00000_ut8a8, FINISHED, 1 node\nSplits: 19 total, 19 done (100.00%)\n0.91 [0 rows, 0B] [0 rows\/s, 0B\/s]\n\ntrino&gt; use mysql;\nQuery 20211121_110153_00001_ut8a8 failed: Schema does not exist: mysql.mysql\n\ntrino&gt; use mysql.mg;\nUSE\ntrino:mg&gt;\ntrino:mg&gt;\ntrino:mg&gt;\ntrino:mg&gt; SHOW TABLES ;\n        Table\n---------------------\n tbl_api_user\n tbl_import\n tbl_restaurant_info\n tbl_user_info\n(4 rows)\n\nQuery 20211121_110217_00005_ut8a8, FINISHED, 2 nodes\nSplits: 19 total, 19 done (100.00%)\n0.22 [4 rows, 102B] [17 rows\/s, 455B\/s]<\/code><\/pre>\n<h2>Zeppelin \uc5d0\uc11c \uc811\uadfc\ud558\uae30<\/h2>\n<p><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=3966\">\uc5ec\uae30<\/a> \uc5d0 \uc124\uba85\ud55c \ubc29\ubc95\uc73c\ub85c Trino \uc5d0 \uc811\uadfc\uac00\ub2a5\ud558\ub2e4.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2021\/11\/2021-12-05-01.png\" alt=\"\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Trino(Presto SQL) \uac00 \ubb58\uae4c&#8230; \ucc38\uc870 \ucc38\uc870 \ucc38\uc870 \uc77c\ub2e8 Trino \ub85c \uac80\uc0c9\ud558\uba74 \ubb38\uc11c\uac00 \uadf8\ub2e5 \uc5c6\ub2e4. Trino \ub294 Presto \uc758 rename \ubc84\uc804\uc774\ub2e4. (\uc800\uc791\uad8c \ubb38\uc81c\ub85c) Presto \ub85c \uac80\uc0c9\ud574\uc11c \uae30\ubcf8 \uc9c0\uc2dd\uc744 \ub9cc\ub4e4\uace0, Trino \uc5d0\uc11c \ub2ec\ub77c\uc9c4 \uc810\uc744 \ucc3e\uc544\ubcf4\uc790. \ud1b5\uacc4 \ubf51\uc544\uc8fc\uc138\uc694 \uc5d0\uc11c \ubc97\uc5b4\ub098 \ubcf4\uc790. SELECT orders.orderkey, SUM(tax) FROM orders LEFT JOIN lineitem ON orders.orderkey = lineitem.orderkey WHERE discount = 0 GROUP\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=3898\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-3898","post","type-post","status-publish","format-standard","hentry","category-devops"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/3898","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3898"}],"version-history":[{"count":20,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/3898\/revisions"}],"predecessor-version":[{"id":4081,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/3898\/revisions\/4081"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3898"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3898"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3898"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}