{"id":146,"date":"2017-11-04T20:47:50","date_gmt":"2017-11-04T19:47:50","guid":{"rendered":"http:\/\/wchmurze.cloud\/?p=146"},"modified":"2019-08-18T15:08:56","modified_gmt":"2019-08-18T13:08:56","slug":"pyspark-podstawowe-transformacje-i-akcje","status":"publish","type":"post","link":"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/","title":{"rendered":"Pyspark &#8211; podstawowe transformacje i akcje"},"content":{"rendered":"<h4>Transformacje tworz\u0105 nowe obiekty RDD , r\u00f3wnie\u017c na podstawie innego obiektu RDD.<br \/>\nSilnik Apache Spark potrafi przeanalizowa\u0107 sekwencj\u0119 transformacji.<br \/>\nAkcje wykonuj\u0105 na obiektach RDD dzia\u0142ania, kt\u00f3rych wynikiem nie jest RDD i dzia\u0142ania te wymuszaj\u0105 wykorzystanie definicji RDD wraz z sekwencj\u0105 transformacji.<\/h4>\n<h3>Proste przyk\u0142ady w pySparku.<\/h3>\n<pre lang=\"PYTHON\">#modyfikacja konfiguracji pozwalajaca na wyswietlenie \r\n# wiecej niz jednego komunikatu OUT: z kodu jednej komorki\r\nfrom IPython.core.interactiveshell import InteractiveShell\r\nInteractiveShell.ast_node_interactivity = \"all\"\r\n<\/pre>\n<pre lang=\"PYTHON\">#pokaz obiekt SparkContext\r\nsc\r\n<\/pre>\n<p>Out[2]: <pyspark.context.SparkContext at 0x7f4c2db84dd0>\n<pre lang=\"PYTHON\"># wyswietlenie typu zmiennej sc\r\ntype(sc)\r\n<\/pre>\n<p>Out[3]: pyspark.context.SparkContext  <\/p>\n<pre lang=\"PYTHON\">#tworzymy obiekt RDD  z listy element\u00f3w ca\u0142kowitych\r\nrdd = sc.parallelize([1, 2, 3, 4,5,6])\r\n#pokaz 10 element\u00f3w\r\nrdd.take (10)\r\n#policz elementy obiektu RDD\r\nrdd.count()\r\n<\/pre>\n<p>  Out[4]:[1, 2, 3, 4, 5, 6]<br \/>\n  Out[4]:6<\/p>\n<pre lang=\"PYTHON\">#transformacja map za pomoc\u0105 funkcji lambda\r\n#liczymy element po elemencie i tworzymy nowy RDD\r\nrddMap=rdd.map(lambda x: x*2)\r\n#pokaz elementy rdd\r\nrdd.take (10)\r\n#pokaz elementy rddMap\r\nrddMap.take (10)\r\n<\/pre>\n<p>Out[5]:[1, 2, 3, 4, 5, 6]<\/p>\n<p>Out[5]:[2, 4, 6, 8, 10, 12] <\/p>\n<pre lang=\"PYTHON\">#transformacja filter za pomoc\u0105 funkcji lambda\r\n# pozostaw tylko elementy parzyste\r\nrddFilter=rdd.filter(lambda x: x % 2 == 0)\r\n#pokaz elementy rdd\r\nrdd.take(10)\r\n#pokaz elementy rddFilter\r\nrddFilter.take(10)\r\n<\/pre>\n<p>Out[6]:[1, 2, 3, 4, 5, 6]<\/p>\n<p>Out[6]:[2, 4, 6] <\/p>\n<pre lang=\"PYTHON\">#transformacja map za pomoc\u0105 funkcji lambda\r\n#zamiana w pary [elementx,elementx*2]\r\nrddMap=rdd.map(lambda x: [x, x * 2])\r\n#pokaz elementy rdd\r\nrdd.take(10)\r\n#pokaz elementy rddFilter\r\nrddMap.take(10)\r\n<\/pre>\n<p>Out[7]: [1, 2, 3, 4, 5, 6]<\/p>\n<p>Out[7]:[[1, 2], [2, 4], [3, 6], [4, 8], [5, 10], [6, 12]] <\/p>\n<pre lang=\"PYTHON\">#transformacja flatMap za pomoc\u0105 funkcji lambda\r\n#kazdy elementx zamieniamy na dwa elementy elementx i elementx+2\r\nrddFlatMap=rdd.flatMap(lambda x:[x,x+2])\r\n#pokaz elementy rdd\r\nrdd.take(10)\r\n#pokaz elementy rdd\r\nrddFlatMap.take(10)\r\n<\/pre>\n<p>Out[8]:[1, 2, 3, 4, 5, 6]<\/p>\n<p>Out[8]:[1, 3, 2, 4, 3, 5, 4, 6, 5, 7]  <\/p>\n<pre lang=\"PYTHON\">#akcja reduce za pomoc\u0105 funkcji lambda\r\nrddReduce=rdd.reduce(lambda x, y: x * y)\r\n#pokaz elementy rdd\r\nrdd.take(10)\r\n#wyswietl zmienna rddReduce\r\nrddReduce\r\n<\/pre>\n<p>Out[9]:[1, 2, 3, 4, 5, 6]<\/p>\n<p>Out[9]:720<\/p>\n<pre lang=\"PYTHON\"># pozostaw tylko elementy parzyste\r\nrddOdd=rdd.filter(lambda x: x % 2 == 0)\r\n# pozostaw tylko elementy nieparzyste\r\nrddEven=rdd.filter(lambda x: x % 2 == 1)\r\n# po\u0142\u0105cz oba zniory transformacj\u0105 union\r\nrddAll=rddOdd.union(rddEven)\r\nrddOdd.take(10)\r\nrddEven.take(10)\r\nrddAll.take(10)\r\n<\/pre>\n<p>Out[10]:[2, 4, 6]<\/p>\n<p>Out[10]:[1, 3, 5]<\/p>\n<p>Out[10]:[2, 4, 6, 1, 3, 5]<\/p>\n<pre lang=\"PYTHON\">\r\n#transformacja distinct usuwajaca zdublowane wartosci\r\nrddNotDistinct=sc.parallelize([1,2,3,4,5,6,3,4,5])\r\nrddDistinct=rddNotDistinct.distinct()\r\nrddNotDistinct.take(10)\r\nrddDistinct.take(10)\r\n<\/pre>\n<p>Out[11]:[1, 2, 3, 4, 5, 6, 3, 4, 5]<\/p>\n<p>Out[11]:[2, 4, 6, 1, 3, 5]  <\/p>\n<pre lang='PYTHON'>\r\n# pozostale transformacje union, intersection, subtract, cartesian\r\nrddUnion=rddOdd.union(rddEven)\r\nrddIntersection=rddOdd.intersection(rddEven)\r\nrddSubtract=rddOdd.subtract(rddEven)\r\nrddCartesian=rddOdd.cartesian(rddEven)\r\nrddOdd.take(10)\r\nrddEven.take(10)\r\nrddUnion.take(10)\r\nrddIntersection.take(10)\r\nrddSubtract.take(10)\r\nrddCartesian.take(10)\r\n<\/pre>\n<p>Out[12]:[2, 4, 6]<\/p>\n<p>Out[12]:[1, 3, 5]<\/p>\n<p>Out[12]:[2, 4, 6, 1, 3, 5]<\/p>\n<p>Out[12]:[]<\/p>\n<p>Out[12]:[4, 2, 6]<\/p>\n<p>Out[12]:[(2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (6, 1), (6, 3), (4, 5), (6, 5)]         <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Transformacje tworz\u0105 nowe obiekty RDD , r\u00f3wnie\u017c na podstawie innego obiektu RDD. Silnik Apache Spark potrafi przeanalizowa\u0107 sekwencj\u0119 transformacji. Akcje wykonuj\u0105 na obiektach RDD dzia\u0142ania, kt\u00f3rych wynikiem nie jest RDD i dzia\u0142ania te wymuszaj\u0105 wykorzystanie definicji RDD wraz z sekwencj\u0105 &hellip; <a href=\"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/\">Continued<\/a><\/p>\n","protected":false},"author":1,"featured_media":1075,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11,6,10],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Pyspark - podstawowe transformacje i akcje - W chmurze o chmurze i nie tylko<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pyspark - podstawowe transformacje i akcje - W chmurze o chmurze i nie tylko\" \/>\n<meta property=\"og:description\" content=\"Transformacje tworz\u0105 nowe obiekty RDD , r\u00f3wnie\u017c na podstawie innego obiektu RDD. Silnik Apache Spark potrafi przeanalizowa\u0107 sekwencj\u0119 transformacji. Akcje wykonuj\u0105 na obiektach RDD dzia\u0142ania, kt\u00f3rych wynikiem nie jest RDD i dzia\u0142ania te wymuszaj\u0105 wykorzystanie definicji RDD wraz z sekwencj\u0105 &hellip; Continued\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/\" \/>\n<meta property=\"og:site_name\" content=\"W chmurze o chmurze i nie tylko\" \/>\n<meta property=\"article:published_time\" content=\"2017-11-04T19:47:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-08-18T13:08:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wchmurze.cloud\/wp-content\/uploads\/2017\/11\/largest-open-source-apache-spark.png\" \/>\n\t<meta property=\"og:image:width\" content=\"684\" \/>\n\t<meta property=\"og:image:height\" content=\"509\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"djkormo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"djkormo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/\"},\"author\":{\"name\":\"djkormo\",\"@id\":\"https:\/\/wchmurze.cloud\/#\/schema\/person\/9832cc6f86f99f541d983d2b8d60f323\"},\"headline\":\"Pyspark &#8211; podstawowe transformacje i akcje\",\"datePublished\":\"2017-11-04T19:47:50+00:00\",\"dateModified\":\"2019-08-18T13:08:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/\"},\"wordCount\":83,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/wchmurze.cloud\/#\/schema\/person\/9832cc6f86f99f541d983d2b8d60f323\"},\"articleSection\":[\"Apache\",\"Python\",\"Spark\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/\",\"url\":\"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/\",\"name\":\"Pyspark - podstawowe transformacje i akcje - W chmurze o chmurze i nie tylko\",\"isPartOf\":{\"@id\":\"https:\/\/wchmurze.cloud\/#website\"},\"datePublished\":\"2017-11-04T19:47:50+00:00\",\"dateModified\":\"2019-08-18T13:08:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/wchmurze.cloud\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pyspark &#8211; podstawowe transformacje i akcje\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wchmurze.cloud\/#website\",\"url\":\"https:\/\/wchmurze.cloud\/\",\"name\":\"W chmurze o chmurze i nie tylko\",\"description\":\"W chmurze o chmurze i nie tylko\",\"publisher\":{\"@id\":\"https:\/\/wchmurze.cloud\/#\/schema\/person\/9832cc6f86f99f541d983d2b8d60f323\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wchmurze.cloud\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pl-PL\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/wchmurze.cloud\/#\/schema\/person\/9832cc6f86f99f541d983d2b8d60f323\",\"name\":\"djkormo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/wchmurze.cloud\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/14a901b808871fa98086ae259c45d646?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/14a901b808871fa98086ae259c45d646?s=96&d=mm&r=g\",\"caption\":\"djkormo\"},\"logo\":{\"@id\":\"https:\/\/wchmurze.cloud\/#\/schema\/person\/image\/\"},\"url\":\"https:\/\/wchmurze.cloud\/index.php\/author\/djkormo\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pyspark - podstawowe transformacje i akcje - W chmurze o chmurze i nie tylko","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:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/","og_locale":"pl_PL","og_type":"article","og_title":"Pyspark - podstawowe transformacje i akcje - W chmurze o chmurze i nie tylko","og_description":"Transformacje tworz\u0105 nowe obiekty RDD , r\u00f3wnie\u017c na podstawie innego obiektu RDD. Silnik Apache Spark potrafi przeanalizowa\u0107 sekwencj\u0119 transformacji. Akcje wykonuj\u0105 na obiektach RDD dzia\u0142ania, kt\u00f3rych wynikiem nie jest RDD i dzia\u0142ania te wymuszaj\u0105 wykorzystanie definicji RDD wraz z sekwencj\u0105 &hellip; Continued","og_url":"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/","og_site_name":"W chmurze o chmurze i nie tylko","article_published_time":"2017-11-04T19:47:50+00:00","article_modified_time":"2019-08-18T13:08:56+00:00","og_image":[{"width":684,"height":509,"url":"https:\/\/wchmurze.cloud\/wp-content\/uploads\/2017\/11\/largest-open-source-apache-spark.png","type":"image\/png"}],"author":"djkormo","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"djkormo","Szacowany czas czytania":"2 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/#article","isPartOf":{"@id":"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/"},"author":{"name":"djkormo","@id":"https:\/\/wchmurze.cloud\/#\/schema\/person\/9832cc6f86f99f541d983d2b8d60f323"},"headline":"Pyspark &#8211; podstawowe transformacje i akcje","datePublished":"2017-11-04T19:47:50+00:00","dateModified":"2019-08-18T13:08:56+00:00","mainEntityOfPage":{"@id":"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/"},"wordCount":83,"commentCount":0,"publisher":{"@id":"https:\/\/wchmurze.cloud\/#\/schema\/person\/9832cc6f86f99f541d983d2b8d60f323"},"articleSection":["Apache","Python","Spark"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/","url":"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/","name":"Pyspark - podstawowe transformacje i akcje - W chmurze o chmurze i nie tylko","isPartOf":{"@id":"https:\/\/wchmurze.cloud\/#website"},"datePublished":"2017-11-04T19:47:50+00:00","dateModified":"2019-08-18T13:08:56+00:00","breadcrumb":{"@id":"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wchmurze.cloud\/index.php\/2017\/11\/04\/pyspark-podstawowe-transformacje-i-akcje\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/wchmurze.cloud\/"},{"@type":"ListItem","position":2,"name":"Pyspark &#8211; podstawowe transformacje i akcje"}]},{"@type":"WebSite","@id":"https:\/\/wchmurze.cloud\/#website","url":"https:\/\/wchmurze.cloud\/","name":"W chmurze o chmurze i nie tylko","description":"W chmurze o chmurze i nie tylko","publisher":{"@id":"https:\/\/wchmurze.cloud\/#\/schema\/person\/9832cc6f86f99f541d983d2b8d60f323"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wchmurze.cloud\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pl-PL"},{"@type":["Person","Organization"],"@id":"https:\/\/wchmurze.cloud\/#\/schema\/person\/9832cc6f86f99f541d983d2b8d60f323","name":"djkormo","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/wchmurze.cloud\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/14a901b808871fa98086ae259c45d646?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/14a901b808871fa98086ae259c45d646?s=96&d=mm&r=g","caption":"djkormo"},"logo":{"@id":"https:\/\/wchmurze.cloud\/#\/schema\/person\/image\/"},"url":"https:\/\/wchmurze.cloud\/index.php\/author\/djkormo\/"}]}},"_links":{"self":[{"href":"https:\/\/wchmurze.cloud\/index.php\/wp-json\/wp\/v2\/posts\/146"}],"collection":[{"href":"https:\/\/wchmurze.cloud\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wchmurze.cloud\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wchmurze.cloud\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wchmurze.cloud\/index.php\/wp-json\/wp\/v2\/comments?post=146"}],"version-history":[{"count":10,"href":"https:\/\/wchmurze.cloud\/index.php\/wp-json\/wp\/v2\/posts\/146\/revisions"}],"predecessor-version":[{"id":156,"href":"https:\/\/wchmurze.cloud\/index.php\/wp-json\/wp\/v2\/posts\/146\/revisions\/156"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wchmurze.cloud\/index.php\/wp-json\/wp\/v2\/media\/1075"}],"wp:attachment":[{"href":"https:\/\/wchmurze.cloud\/index.php\/wp-json\/wp\/v2\/media?parent=146"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wchmurze.cloud\/index.php\/wp-json\/wp\/v2\/categories?post=146"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wchmurze.cloud\/index.php\/wp-json\/wp\/v2\/tags?post=146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}