{"id":15607,"date":"2022-02-04T12:28:21","date_gmt":"2022-02-04T11:28:21","guid":{"rendered":"https:\/\/scriptfactory.pl\/blog\/?p=15607"},"modified":"2022-02-11T13:42:49","modified_gmt":"2022-02-11T12:42:49","slug":"tricks-undelete-na-duzej-ilosci-plikow","status":"publish","type":"post","link":"https:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/","title":{"rendered":"Undelete na du\u017cej ilo\u015bci plik\u00f3w"},"content":{"rendered":"\n<p>Pewnie spotka\u0142e\u015b\/\u0142a\u015b si\u0119 do tej pory z problemem wykonania operacji Undelete na <a href=\"https:\/\/scriptfactory.pl\/blog\/category\/azure\/\">Azure <\/a>Storage Account w przypadku kiedy na kontenerze znajduj\u0105 si\u0119 miliony plik\u00f3w, i istotna cz\u0119\u015b\u0107 z nich zosta\u0142a usuni\u0119ta. Je\u015bli masz na odzyskanie tylko 7dni to mo\u017ce by\u0107 to nie lada wyzwanie. <\/p>\n\n\n\n<p>Microsoft sugeruje u\u017cycie <a href=\"https:\/\/portal.azure.com\/#home\">Azure Portal<\/a> lub <a href=\"https:\/\/azure.microsoft.com\/pl-pl\/features\/storage-explorer\/\">Azure Storage Explorer<\/a> jest jednak w tym podej\u015bciu do\u015b\u0107 istotny problem, mianowicie przy do\u015b\u0107 intensywnie u\u017cywanym kontenerze , samo wylistowanie plik\u00f3w do operacji undelete (nie m\u00f3wi\u0105c o jej zastosowaniu) jest czasoch\u0142onne, listowanie mo\u017ce odbywa\u0107 si\u0119 z pr\u0119dko\u015bci\u0105 nawet 2ty\u015b\/5-6s do oko\u0142o 20ty\u015b\/5s. U\u017cywaj\u0105c wspomnianych narz\u0119dzi nie ma jednak mo\u017cliwo\u015bci wybrania od razu wszystkich wylistowanych plik\u00f3w do operacji undelete. Przy skasowaniu np. 20mln plik\u00f3w jedyn\u0105 mo\u017cliwo\u015bci\u0105 jest wykonanie tej operacji w inny spos\u00f3b, spos\u00f3b kt\u00f3ry opiszemy poni\u017cej:<\/p>\n\n\n\n<h2 id=\"jak-uniknac-listowania-plikow\">Jak unikn\u0105\u0107 listowania plik\u00f3w<\/h2>\n\n\n\n<p>Microsoft umo\u017cliwia nam dwie opcje pomini\u0119cia operacji listowania plik\u00f3w czy to w narz\u0119dziach powy\u017cej , czy przy u\u017cyciu Pythona, Basha, czy innych sposob\u00f3w<\/p>\n\n\n\n<ul><li>$logs<\/li><\/ul>\n\n\n\n<p>Struktura katalogu to <strong>typ us\u0142ugi-&gt;rok-&gt;miesi<\/strong>\u0105c-<strong>&gt;dzie\u0144-&gt;godzina+minuta-&gt;*.log<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"100\" src=\"https:\/\/scriptfactory.pl\/blog\/wp-content\/uploads\/2022\/02\/image-1024x100.png\" alt=\"\" class=\"wp-image-15609\" srcset=\"https:\/\/scriptfactory.pl\/blog\/wp-content\/uploads\/2022\/02\/image-1024x100.png 1024w, https:\/\/scriptfactory.pl\/blog\/wp-content\/uploads\/2022\/02\/image-300x29.png 300w, https:\/\/scriptfactory.pl\/blog\/wp-content\/uploads\/2022\/02\/image-768x75.png 768w, https:\/\/scriptfactory.pl\/blog\/wp-content\/uploads\/2022\/02\/image.png 1327w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>plik log w katalogu $logs z danymi niezb\u0119dnymi do undelete<\/figcaption><\/figure>\n\n\n\n<ul><li>$blobchangefeed (je\u015bli funkcjonalno\u015b\u0107 uruchomiona jest na poziomie Azure Storage Account)<\/li><\/ul>\n\n\n\n<p><strong>log\/idx\/meta (w naszym przypadku log)-&gt;00-&gt;rok-&gt;miesi\u0105c-&gt;dzie\u0144-&gt;godzina+minuta-&gt;*.avro<\/strong><\/p>\n\n\n\n<p>Podgl\u0105d na ten kontener jest tylko z poziomu Azure Portal, nie wida\u0107 go w Azure Storage Explorer.<\/p>\n\n\n\n<p>W obydwu lokalizacjach znajduj\u0105 si\u0119 podobne informacje. Istotne z jest znalezienie w nich typu operacji <strong>BlobDeleted<\/strong> w zakresie godzin jaki zosta\u0142a wykonana operacja. Pami\u0119tajcie jednak \u017ce operacja usuwania mo\u017ce odbywa\u0107 si\u0119 asynchronicznie. Wi\u0119c od momentu wykonania operacji kasowania do faktycznego usuni\u0119cia blob-a mo\u017ce up\u0142yn\u0105\u0107 troch\u0119 czasu.<\/p>\n\n\n\n<h2 id=\"jesli-juz-wiemy-jakie-pliki-chcemy-odzyskac\">Je\u015bli ju\u017c wiemy jakie pliki chcemy odzyska\u0107<\/h2>\n\n\n\n<p>Je\u015bli mamy ju\u017c list\u0119 faktycznie usuni\u0119tych plik\u00f3w, jak zrobi\u0107 aby wykona\u0107 operacj\u0119 szybko i sprawnie nie pisz\u0105c do tego &#8222;tony&#8221; kodu. Aby tego dokona\u0107 trzeba skupi\u0107 si\u0119 na sposobie samego odzyskania pojedynczego pliku. Mo\u017cna to zrobi\u0107 low-level u\u017cywaj\u0105c API do Azure Storage Account. To zapewni nam uruchomienie odzyskania pliku bez konieczno\u015bci wykorzystania narz\u0119dzi powy\u017cej. Jednak Microsoft przygotowa\u0142 &#8222;nak\u0142adki&#8221; do API Storage Account &#8211; my skupimy si\u0119 na tej przygotowanej w Pythonie <a href=\"https:\/\/docs.microsoft.com\/en-us\/python\/api\/overview\/azure\/storage-blob-readme?view=azure-python\">https:\/\/docs.microsoft.com\/en-us\/python\/api\/overview\/azure\/storage-blob-readme?view=azure-python<\/a> . Ponie\u017cej znajduje si\u0119 prosty kod przy u\u017cyciu Python , dzi\u0119ki kt\u00f3remu mo\u017cemy odzyska\u0107 pojedy\u0144czy plik. Je\u015bli dostarczymy dane w odpowiednim formacie.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\">import os\nfrom datetime import datetime, timedelta\nfrom azure.core.exceptions import HttpResponseError, ResourceExistsError\nfrom azure.storage.blob import BlobServiceClient\n\nconnection_string = \"DefaultEndpointsProtocol=https;AccountName=&lt;nazwa storage account&gt;;AccountKey=&lt;klucz do storage account&gt;;EndpointSuffix=core.windows.net\"\nservice = BlobServiceClient.from_connection_string(conn_str=connection_string)\n\ndef executeUndelete(path):\n  blob_client = service.get_blob_client(container=&lt;nazwa kontenera&gt;, blob=path)\n  try:\n    blob_client.undelete_blob()\n  except:\n    return 0\n  return 1\n<\/code><\/pre>\n\n\n\n<p>Format nazwy pliku to jego \u015bcie\u017cka na kontenerze np. <strong>incoming\/newprocess1\/file.log<\/strong><\/p>\n\n\n\n<h2 id=\"jak-odzyskac-miliony-plikow-undelete\">Jak odzyska\u0107 miliony plik\u00f3w &#8211; Undelete<\/h2>\n\n\n\n<p>Do odzyskania wielu plik\u00f3w musimy zastosowa\u0107 efekt skali. Jednym z przyjemniejszych sposob\u00f3w jest wykorzystanie Azure Databricks. Gdzie w ramach us\u0142ugi utworzymy klaster np. z 16 nodami (maszyny DS13v2) kt\u00f3re pozwoli uruchomi\u0107 odzyskiwanie plik\u00f3w wielow\u0105tkowo.<\/p>\n\n\n\n<p>Sam Azure <a href=\"https:\/\/scriptfactory.pl\/blog\/category\/azure\/databricks\/\">Databricks <\/a>mo\u017cemy r\u00f3wnie\u017c wykorzysta\u0107 do przygotowania danych z plik\u00f3w *.log, czy *.avro opisanych powy\u017cej (tego nie b\u0119d\u0119 opisywa\u0142 w szczeg\u00f3\u0142ach w tym artykule). Dane przygotowane w postaci tabelki mo\u017cna w bardzo prosty i przejrzysty spos\u00f3b szybko wy\u015bwietli\u0107 i uruchomi\u0107 proces odzyskiwania. Aby tego dokona\u0107 nale\u017cy doda\u0107 do powy\u017cszego kodu poni\u017csze linie i uruchomi\u0107 poni\u017cszego SQLa<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\">from pyspark.sql.functions import udf\nfrom pyspark.sql.types import StringType\n\nspark.udf.register(\"executeUndelete\", executeUndelete, StringType())<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"sql\" class=\"language-sql line-numbers\">select *,executeUndelete(sciezka_pliku) status_odzyskania from lista_plikow_do_odzyskania<\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pewnie spotka\u0142e\u015b\/\u0142a\u015b si\u0119 do tej pory z problemem wykonania operacji Undelete na Azure Storage Account w przypadku kiedy na kontenerze znajduj\u0105 si\u0119 miliony plik\u00f3w, i istotna cz\u0119\u015b\u0107 z nich zosta\u0142a usuni\u0119ta. Je\u015bli masz na odzyskanie tylko 7dni to mo\u017ce by\u0107 to nie lada wyzwanie. Microsoft sugeruje u\u017cycie Azure Portal lub Azure Storage Explorer jest jednak w tym podej\u015bciu do\u015b\u0107 istotny problem, mianowicie przy do\u015b\u0107 intensywnie u\u017cywanym kontenerze , samo wylistowanie plik\u00f3w do operacji undelete (nie m\u00f3wi\u0105c o jej zastosowaniu) jest czasoch\u0142onne, listowanie mo\u017ce odbywa\u0107 si\u0119 z pr\u0119dko\u015bci\u0105 nawet 2ty\u015b\/5-6s do oko\u0142o 20ty\u015b\/5s. U\u017cywaj\u0105c wspomnianych narz\u0119dzi nie ma jednak mo\u017cliwo\u015bci wybrania od razu wszystkich wylistowanych plik\u00f3w do operacji undelete. Przy skasowaniu np. 20mln plik\u00f3w jedyn\u0105 mo\u017cliwo\u015bci\u0105 jest wykonanie tej operacji w inny spos\u00f3b, spos\u00f3b kt\u00f3ry opiszemy poni\u017cej: Jak unikn\u0105\u0107 listowania plik\u00f3w Microsoft umo\u017cliwia nam dwie opcje pomini\u0119cia operacji listowania plik\u00f3w czy to w narz\u0119dziach powy\u017cej , czy przy u\u017cyciu Pythona, Basha, czy innych sposob\u00f3w $logs Struktura katalogu to typ us\u0142ugi-&gt;rok-&gt;miesi\u0105c-&gt;dzie\u0144-&gt;godzina+minuta-&gt;*.log $blobchangefeed (je\u015bli funkcjonalno\u015b\u0107 uruchomiona jest na poziomie Azure Storage Account) log\/idx\/meta (w naszym przypadku log)-&gt;00-&gt;rok-&gt;miesi\u0105c-&gt;dzie\u0144-&gt;godzina+minuta-&gt;*.avro Podgl\u0105d na ten kontener jest tylko z poziomu Azure Portal, nie wida\u0107 go w Azure Storage Explorer. W obydwu lokalizacjach znajduj\u0105 si\u0119 podobne informacje. Istotne z [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":15617,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[105,101,116],"tags":[99,115,112,114,111,110,113],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v18.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<meta name=\"description\" content=\"Pewnie spotka\u0142e\u015b\/\u0142a\u015b si\u0119 do tej pory z problemem wykonania operacji Undelete na Azure Storage Account w przypadku kiedy na kontenerze znajduj\u0105 si\u0119 miliony plik\u00f3w, i istotna cz\u0119\u015b\u0107 z nich zosta\u0142a usuni\u0119ta. Je\u015bli masz na odzyskanie tylko 7dni to mo\u017ce by\u0107 to nie lada wyzwanie.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Undelete na du\u017cej ilo\u015bci plik\u00f3w - SCRIPT FACTORY | BI BLOG\" \/>\n<meta property=\"og:description\" content=\"Pewnie spotka\u0142e\u015b\/\u0142a\u015b si\u0119 do tej pory z problemem wykonania operacji Undelete na Azure Storage Account w przypadku kiedy na kontenerze znajduj\u0105 si\u0119 miliony plik\u00f3w, i istotna cz\u0119\u015b\u0107 z nich zosta\u0142a usuni\u0119ta. Je\u015bli masz na odzyskanie tylko 7dni to mo\u017ce by\u0107 to nie lada wyzwanie.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/\" \/>\n<meta property=\"og:site_name\" content=\"SCRIPT FACTORY | BI BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2022-02-04T11:28:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-02-11T12:42:49+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/scriptfactory.pl\/blog\/wp-content\/uploads\/2022\/02\/tips-and-tricks.webp\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Wojciech Zduniak\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/scriptfactory.pl\/blog\/#website\",\"url\":\"https:\/\/scriptfactory.pl\/blog\/\",\"name\":\"SCRIPT FACTORY | BI BLOG\",\"description\":\"Blog techniczny pokazuj\u0105cy jak poradzi\u0107 sobie z najwi\u0119kszymi problemami\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/scriptfactory.pl\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/#primaryimage\",\"inLanguage\":\"pl-PL\",\"url\":\"https:\/\/scriptfactory.pl\/blog\/wp-content\/uploads\/2022\/02\/tips-and-tricks.webp\",\"contentUrl\":\"https:\/\/scriptfactory.pl\/blog\/wp-content\/uploads\/2022\/02\/tips-and-tricks.webp\",\"width\":800,\"height\":320},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/#webpage\",\"url\":\"https:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/\",\"name\":\"Undelete na du\u017cej ilo\u015bci plik\u00f3w - SCRIPT FACTORY | BI BLOG\",\"isPartOf\":{\"@id\":\"https:\/\/scriptfactory.pl\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/#primaryimage\"},\"datePublished\":\"2022-02-04T11:28:21+00:00\",\"dateModified\":\"2022-02-11T12:42:49+00:00\",\"author\":{\"@id\":\"https:\/\/scriptfactory.pl\/blog\/#\/schema\/person\/e39ed2fd20838bb0d87220cc919e2f21\"},\"description\":\"Pewnie spotka\u0142e\u015b\/\u0142a\u015b si\u0119 do tej pory z problemem wykonania operacji Undelete na Azure Storage Account w przypadku kiedy na kontenerze znajduj\u0105 si\u0119 miliony plik\u00f3w, i istotna cz\u0119\u015b\u0107 z nich zosta\u0142a usuni\u0119ta. Je\u015bli masz na odzyskanie tylko 7dni to mo\u017ce by\u0107 to nie lada wyzwanie.\",\"breadcrumb\":{\"@id\":\"https:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/scriptfactory.pl\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Undelete na du\u017cej ilo\u015bci plik\u00f3w\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/scriptfactory.pl\/blog\/#\/schema\/person\/e39ed2fd20838bb0d87220cc919e2f21\",\"name\":\"Wojciech Zduniak\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/scriptfactory.pl\/blog\/#personlogo\",\"inLanguage\":\"pl-PL\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5d954513663b7b760bcae861966c5069?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5d954513663b7b760bcae861966c5069?s=96&d=mm&r=g\",\"caption\":\"Wojciech Zduniak\"},\"description\":\"BI zajmuj\u0119 si\u0119 kilkana\u015bcie lat, od Microsoft po Teradat\u0119, od on-premise do cloud, od pojedy\u0144czych serwer\u00f3w po klastr\u00f3w obliczeniowych. Temat jest tak szeroki i ciekawy \u017ce postanowi\u0142em opisa\u0107 po kolei wszystko co wiem i z czym si\u0119 zetkn\u0105\u0142em. Mam nadzieje \u017ce b\u0119dzie Wam si\u0119 podoba\u0107 ta lektura :)\",\"url\":\"https:\/\/scriptfactory.pl\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"description":"Pewnie spotka\u0142e\u015b\/\u0142a\u015b si\u0119 do tej pory z problemem wykonania operacji Undelete na Azure Storage Account w przypadku kiedy na kontenerze znajduj\u0105 si\u0119 miliony plik\u00f3w, i istotna cz\u0119\u015b\u0107 z nich zosta\u0142a usuni\u0119ta. Je\u015bli masz na odzyskanie tylko 7dni to mo\u017ce by\u0107 to nie lada wyzwanie.","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:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/","og_locale":"pl_PL","og_type":"article","og_title":"Undelete na du\u017cej ilo\u015bci plik\u00f3w - SCRIPT FACTORY | BI BLOG","og_description":"Pewnie spotka\u0142e\u015b\/\u0142a\u015b si\u0119 do tej pory z problemem wykonania operacji Undelete na Azure Storage Account w przypadku kiedy na kontenerze znajduj\u0105 si\u0119 miliony plik\u00f3w, i istotna cz\u0119\u015b\u0107 z nich zosta\u0142a usuni\u0119ta. Je\u015bli masz na odzyskanie tylko 7dni to mo\u017ce by\u0107 to nie lada wyzwanie.","og_url":"https:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/","og_site_name":"SCRIPT FACTORY | BI BLOG","article_published_time":"2022-02-04T11:28:21+00:00","article_modified_time":"2022-02-11T12:42:49+00:00","twitter_card":"summary_large_image","twitter_image":"https:\/\/scriptfactory.pl\/blog\/wp-content\/uploads\/2022\/02\/tips-and-tricks.webp","twitter_misc":{"Napisane przez":"Wojciech Zduniak","Szacowany czas czytania":"4 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/scriptfactory.pl\/blog\/#website","url":"https:\/\/scriptfactory.pl\/blog\/","name":"SCRIPT FACTORY | BI BLOG","description":"Blog techniczny pokazuj\u0105cy jak poradzi\u0107 sobie z najwi\u0119kszymi problemami","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/scriptfactory.pl\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pl-PL"},{"@type":"ImageObject","@id":"https:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/#primaryimage","inLanguage":"pl-PL","url":"https:\/\/scriptfactory.pl\/blog\/wp-content\/uploads\/2022\/02\/tips-and-tricks.webp","contentUrl":"https:\/\/scriptfactory.pl\/blog\/wp-content\/uploads\/2022\/02\/tips-and-tricks.webp","width":800,"height":320},{"@type":"WebPage","@id":"https:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/#webpage","url":"https:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/","name":"Undelete na du\u017cej ilo\u015bci plik\u00f3w - SCRIPT FACTORY | BI BLOG","isPartOf":{"@id":"https:\/\/scriptfactory.pl\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/#primaryimage"},"datePublished":"2022-02-04T11:28:21+00:00","dateModified":"2022-02-11T12:42:49+00:00","author":{"@id":"https:\/\/scriptfactory.pl\/blog\/#\/schema\/person\/e39ed2fd20838bb0d87220cc919e2f21"},"description":"Pewnie spotka\u0142e\u015b\/\u0142a\u015b si\u0119 do tej pory z problemem wykonania operacji Undelete na Azure Storage Account w przypadku kiedy na kontenerze znajduj\u0105 si\u0119 miliony plik\u00f3w, i istotna cz\u0119\u015b\u0107 z nich zosta\u0142a usuni\u0119ta. Je\u015bli masz na odzyskanie tylko 7dni to mo\u017ce by\u0107 to nie lada wyzwanie.","breadcrumb":{"@id":"https:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/scriptfactory.pl\/blog\/azure\/databricks\/tricks-undelete-na-duzej-ilosci-plikow\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/scriptfactory.pl\/blog\/"},{"@type":"ListItem","position":2,"name":"Undelete na du\u017cej ilo\u015bci plik\u00f3w"}]},{"@type":"Person","@id":"https:\/\/scriptfactory.pl\/blog\/#\/schema\/person\/e39ed2fd20838bb0d87220cc919e2f21","name":"Wojciech Zduniak","image":{"@type":"ImageObject","@id":"https:\/\/scriptfactory.pl\/blog\/#personlogo","inLanguage":"pl-PL","url":"https:\/\/secure.gravatar.com\/avatar\/5d954513663b7b760bcae861966c5069?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5d954513663b7b760bcae861966c5069?s=96&d=mm&r=g","caption":"Wojciech Zduniak"},"description":"BI zajmuj\u0119 si\u0119 kilkana\u015bcie lat, od Microsoft po Teradat\u0119, od on-premise do cloud, od pojedy\u0144czych serwer\u00f3w po klastr\u00f3w obliczeniowych. Temat jest tak szeroki i ciekawy \u017ce postanowi\u0142em opisa\u0107 po kolei wszystko co wiem i z czym si\u0119 zetkn\u0105\u0142em. Mam nadzieje \u017ce b\u0119dzie Wam si\u0119 podoba\u0107 ta lektura :)","url":"https:\/\/scriptfactory.pl\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/scriptfactory.pl\/blog\/wp-json\/wp\/v2\/posts\/15607"}],"collection":[{"href":"https:\/\/scriptfactory.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scriptfactory.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scriptfactory.pl\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/scriptfactory.pl\/blog\/wp-json\/wp\/v2\/comments?post=15607"}],"version-history":[{"count":9,"href":"https:\/\/scriptfactory.pl\/blog\/wp-json\/wp\/v2\/posts\/15607\/revisions"}],"predecessor-version":[{"id":15669,"href":"https:\/\/scriptfactory.pl\/blog\/wp-json\/wp\/v2\/posts\/15607\/revisions\/15669"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/scriptfactory.pl\/blog\/wp-json\/wp\/v2\/media\/15617"}],"wp:attachment":[{"href":"https:\/\/scriptfactory.pl\/blog\/wp-json\/wp\/v2\/media?parent=15607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scriptfactory.pl\/blog\/wp-json\/wp\/v2\/categories?post=15607"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scriptfactory.pl\/blog\/wp-json\/wp\/v2\/tags?post=15607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}