JavaRush /Blog Java /Random-PL /Java i Big Data: dlaczego projekty Big Data nie mogą obej...

Java i Big Data: dlaczego projekty Big Data nie mogą obejść się bez Java

Opublikowano w grupie Random-PL
W naszych artykułach na JavaRush nie przestajemy powtarzać, że Java, która wkrótce skończy 25 lat, przeżywa obecnie drugą młodość i ma przed sobą wspaniałe perspektywy w najbliższej przyszłości. Powodów jest wiele, a jednym z nich jest to, że Java jest głównym językiem programowania w wielu popularnych i szybko rozwijających się niszach rynku IT. Java i Big Data: dlaczego projekty Big Data nie mogą obejść się bez Java - 1Najczęściej w kontekście głębokiego przywiązania i czułych uczuć do Javy wspominany jest Internet Rzeczy (IoT) i big data, a także Business Intelligence (business intelligence, BI) i Real Time Analytics (analityka w czasie rzeczywistym). Niedawno omawialiśmy powiązanie między Javą a Internetem rzeczy i rozmawialiśmy o tym, jak programista Java może „dostosować” siebie i swoje umiejętności do tej niszy. Teraz czas zwrócić uwagę na drugi supertrendowy obszar, który – to prawda – również kocha Javę i nie wyobraża sobie bez niej życia. Tak więc dzisiaj analizujemy big data: dlaczego Java, a co za tym idzie jej wierni programiści, jest bardzo poszukiwana również w tej niszy, jak dokładnie ten język jest używany w projektach z „big data”, czego się nauczyć, aby mieć niezbędne umiejętności potrzebnych do zatrudnienia i pracy w tej niszy oraz jakie trendy są istotne dla dużych zbiorów danych już teraz, w przededniu 2020 roku. A pomiędzy tym wszystkim, oto opinie światowej klasy ekspertów na temat big data, po których nawet Homer Simpson będzie chciał nauczyć się pracować z „big data”. Java i Big Data: dlaczego projekty Big Data nie mogą obyć się bez Java - 2
„Ciągle powtarzam, że w ciągu najbliższych 10 lat dziewczyny nie będą gonić sportowców i maklerów giełdowych, ale facetów, którzy pracują z danymi i statystykami. I nie żartuję.”
Hal Varian,
główny ekonomista Google’a

Big Data podbija planetę

Ale najpierw trochę o big data i dlaczego ta nisza jest tak obiecująca, jeśli chodzi o budowanie w niej kariery. Krótko mówiąc, big data nieuchronnie i systematycznie, a co najważniejsze bardzo szybko, przenika do procesów biznesowych firm na całym świecie, a te z kolei zmuszone są szukać specjalistów do pracy z danymi (nie są to oczywiście tylko programiści ), kusząc ich wysokimi zarobkami i innymi gadżetami. Według Forbesa wykorzystanie big data w przedsiębiorstwach wzrosło z 17% w 2015 r. do 59% w 2018 r. Big Data szybko rozprzestrzenia się na różne sektory gospodarki, w tym sprzedaż, marketing, badania i rozwój, logistykę i wszystko. Według badania IBM do 2020 roku liczba stanowisk pracy dla specjalistów w tej dziedzinie w samych Stanach Zjednoczonych przekroczy 2,7 ​​mln. Obiecujący? Nadal tak.

Big Data i Java

A teraz o tym, dlaczego Big Data i Java mają ze sobą tak wiele wspólnego. Rzecz w tym, że wiele podstawowych narzędzi do obsługi big data jest napisanych w Javie. Co więcej, prawie wszystkie z tych narzędzi to projekty typu open source. Oznacza to, że są dostępne dla każdego i z tego samego powodu aktywnie korzystają z nich największe firmy IT na całym świecie. „Big Data to w dużej mierze Java. Hadoop, podobnie jak spora część ekosystemu Hadoop, jest napisany w Javie. Interfejs MapReduce dla Hadoopa to także Java. Dlatego programista Java będzie całkiem łatwo przenieść się do dużych zbiorów danych, po prostu tworząc rozwiązania Java, które będą działać na platformie Hadoop. Istnieją również biblioteki Java, takie jak Cascading, które ułatwiają pracę. Java jest również bardzo przydatna do debugowania, nawet jeśli używasz czegoś takiego jak Hive [Apache Hive to system zarządzania bazami danych oparty na Hadoop]” – powiedział Marcin Mejran, analityk danych i wiceprezes ds. inżynierii danych w firmie Eight. „Oprócz Hadoopa, Storm jest napisany w Javie, a Spark (czyli prawdopodobna przyszłość Hadoopa) jest napisany w Scali (która z kolei działa na JVM, a Spark ma interfejs Java). Jak widać, Java odgrywa ogromną rolę w Big Data. Wszystkie te narzędzia są narzędziami typu open source, co oznacza, że ​​programiści w firmach mogą tworzyć dla nich rozszerzenia lub dodawać funkcjonalności. Praca ta bardzo często obejmuje programowanie w języku Java” – dodał ekspert. Jak widzimy, zarówno w big data, jak i w Internecie rzeczy, uczeniu maszynowym i szeregu innych niszach, które wciąż zyskują na popularności, znajomość języka Java będzie po prostu niezastąpiona.
„Każda firma ma obecnie plany dotyczące dużych zbiorów danych. Wszystkie te firmy zakończą działalność w branży dużych zbiorów danych”.
Thomas H. Davenport,
amerykański naukowiec i ekspert w dziedzinie analityki procesów biznesowych i innowacji
A teraz trochę więcej o wyżej wymienionych narzędziach big data, z których powszechnie korzystają programiści Java.

Apache Hadoopa

Apache Hadoop to jedna z podstawowych technologii big data, napisana w Javie. Hadoop to bezpłatny zestaw narzędzi, bibliotek i frameworków o otwartym kodzie źródłowym zarządzany przez Apache Software Foundation. Pierwotnie zaprojektowany z myślą o skalowalnym i rozproszonym, a jednocześnie niezawodnym przetwarzaniu i przechowywaniu ogromnych ilości różnych informacji, Hadoop w naturalny sposób staje się centrum infrastruktury „big data” dla wielu firm. Firmy na całym świecie aktywnie poszukują talentów Hadoop, a Java jest kluczową umiejętnością wymaganą do opanowania tej technologii. Jak podaje Developers Slashdot, w 2019 roku wiele dużych firm, w tym JPMorgan Chase z rekordowymi zarobkami dla programistów, aktywnie poszukiwało specjalistów Hadoop na konferencji Hadoop World, ale nawet tam nie udało im się znaleźć wystarczającej liczby ekspertów z potrzebnymi im umiejętnościami (w w szczególności znajomość modelu programowania i frameworka do pisania aplikacji Hadoop MapReduce). Oznacza to, że wynagrodzenia w tym obszarze wzrosną jeszcze bardziej. A są już bardzo duże. W szczególności Business Insider szacuje średni koszt specjalisty Hadoop na 103 tys. dolarów rocznie, podczas gdy w przypadku specjalistów big data ogółem kwota ta wynosi 106 tys. dolarów rocznie. Menedżerowie ds. rekrutacji poszukujący ekspertów Hadoop podkreślają Java jako jedną z najważniejszych umiejętności niezbędnych do udanego zatrudnienia. Hadoop jest używany od dawna lub został wdrożony stosunkowo niedawno przez wiele dużych korporacji, w tym IBM, Microsoft i Oracle. Obecnie Amazon, eBay, Apple, Facebook, General Dynamic i inne firmy również mają wiele stanowisk dla specjalistów Hadoop.
„Tak jak nie ma ognia bez dymu, tak teraz nie ma biznesu bez big data”.
Dr Thomas Redman,
uznany ekspert w dziedzinie analityki danych i technologii cyfrowych

Apache Spark

Apache Spark to kolejna kluczowa platforma big data, która poważnie konkuruje z Hadoopem. Dzięki swojej szybkości, elastyczności i łatwości obsługi programistów Apache Spark staje się wiodącą platformą dla wielkoskalowego języka SQL, danych wsadowych i strumieniowych oraz uczenia maszynowego. Będąc frameworkiem do rozproszonego przetwarzania dużych zbiorów danych, Apache Spark działa na podobnej zasadzie co framework Hadoop MapReduce i stopniowo przejmuje od niego kontrolę w zakresie zastosowań w obszarze big data. Spark może być używany na wiele różnych sposobów i ma powiązania z Javą, a także szeregiem innych języków programowania, takich jak Scala, Python i R. Obecnie Spark jest powszechnie używany przez banki, firmy telekomunikacyjne, twórców gier wideo, a nawet rządy. Oczywiście giganci IT, tacy jak Apple, Facebook, IBM i Microsoft, uwielbiają Apache Spark.

Apache Mahout

Apache Mahout to biblioteka uczenia maszynowego Java typu open source firmy Apache. Mahout to właśnie skalowalne narzędzie do uczenia maszynowego z możliwością przetwarzania danych na jednej lub większej liczbie maszyn. Implementacje tego uczenia maszynowego są napisane w Javie, niektóre części są zbudowane na Apache Hadoop.

Burza Apaczów

Apache Storm to platforma do rozproszonego przetwarzania strumieniowego w czasie rzeczywistym. Storm ułatwia niezawodne przetwarzanie nieograniczonej liczby strumieni danych, wykonując w czasie rzeczywistym to samo, co Hadoop robi w przypadku partii danych. Storm integruje się z dowolnym systemem kolejkowym i dowolnym systemem baz danych.

Java JFreechart

Java JFreechart to biblioteka typu open source opracowana w języku Java do użytku w aplikacjach opartych na języku Java w celu tworzenia szerokiej gamy wykresów. Faktem jest, że wizualizacja danych jest dość ważnym zadaniem dla pomyślnej analizy dużych zbiorów danych. Ponieważ big data wiąże się z pracą z dużymi ilościami danych, zidentyfikowanie jakiegokolwiek trendu i po prostu wyciągnięcie pewnych wniosków na podstawie surowych danych może być trudne. Jeśli jednak te same dane przedstawimy na wykresie, staje się on bardziej zrozumiały, łatwiej jest znaleźć prawidłowości i zidentyfikować korelacje. Java JFreechart faktycznie pomaga w tworzeniu wykresów i wykresów do analizy dużych zbiorów danych.

Głębokie uczenie się4j

Deeplearning4j to biblioteka Java służąca do budowy różnego rodzaju sieci neuronowych. Deeplearning4j jest zaimplementowany w Javie i działa w środowisku kompatybilnym z Clojure i zawiera API dla języka Scala. Technologie Deeplearning4j obejmują implementacje ograniczonej maszyny Boltzmanna, sieci głębokich przekonań, głębokiego autoenkodera, autoenkodera stosowego z filtrowaniem szumu, rekurencyjnej sieci neuronowej tensorowej, word2vec, doc2vec i GloVe.
„Big Data staje się nowym surowcem dla biznesu.”
Craig Mundie,
starszy doradca dyrektora generalnego Microsoft

Big Data na progu 2020 roku: najnowsze trendy

Rok 2020 powinien być kolejnym rokiem szybkiego wzrostu i ewolucji dużych zbiorów danych, z powszechnym przyjęciem dużych zbiorów danych przez firmy i organizacje z różnych dziedzin. Dlatego pokrótce przedstawimy trendy big data, które powinny odegrać ważną rolę w nadchodzącym roku. Java i Big Data: dlaczego projekty Big Data nie mogą obejść się bez Java - 3

Internet rzeczy – big data staje się coraz większe

Wydawać by się mogło, że Internet Rzeczy (IoT) to nieco inna historia, ale tak nie jest. IoT nadal zyskuje na popularności i rozprzestrzenia się na całym świecie. W związku z tym rośnie także liczba „inteligentnych” urządzeń instalowanych w domach i biurach, które – jak powinny – przesyłają w razie potrzeby wszelkiego rodzaju dane. Dlatego ilość „dużych” danych będzie tylko rosnąć. Jak zauważają eksperci, wiele organizacji dysponuje już dużą ilością danych, przede wszystkim z sektora IoT, z których nie są jeszcze zbyt gotowe do wykorzystania, a w 2020 roku ta lawina będzie jeszcze większa. W związku z tym szybko wzrosną również inwestycje w projekty związane z dużymi zbiorami danych. No cóż, przypomnijmy, że IoT również bardzo kocha Javę . No cóż, kto go nie kocha?

Cyfrowe bliźniaki

Cyfrowe bliźniaki to kolejny ciekawy trend najbliższej przyszłości, który jest bezpośrednio powiązany zarówno z Internetem Rzeczy, jak i big data. Dlatego użycie w nim Java będzie więcej niż wystarczające. Kim jest cyfrowy bliźniak? Jest to cyfrowy obraz rzeczywistego obiektu lub systemu. Programowy odpowiednik urządzenia fizycznego pozwala symulować procesy wewnętrzne, właściwości techniczne i zachowanie rzeczywistego obiektu w warunkach zakłóceń i środowiska. Działanie cyfrowego bliźniaka nie jest możliwe bez ogromnej liczby czujników w rzeczywistym urządzeniu pracujących równolegle. Oczekuje się, że do 2020 r. na świecie będzie ponad 20 miliardów połączonych czujników, przekazujących informacje do miliardów cyfrowych bliźniaków. W 2020 roku trend ten powinien nabrać rozpędu i wysunąć się na pierwszy plan.

Transformacja cyfrowa stanie się mądrzejsza

Transformacja cyfrowa jest wymieniana jako ważny trend już od kilku lat. Problem polega jednak na tym, jak twierdzą eksperci, że wiele firm i menedżerów najwyższego szczebla miało bardzo niejasne pojęcie o tym, co w ogóle oznacza to sformułowanie. Dla wielu transformacja cyfrowa oznacza znalezienie sposobów sprzedaży gromadzonych przez firmę danych w celu stworzenia nowych źródeł zysków. Do roku 2020 coraz więcej firm zdaje sobie sprawę, że transformacja cyfrowa polega na prawidłowym zastosowaniu danych w każdym aspekcie ich działalności w celu stworzenia przewagi konkurencyjnej. Można zatem spodziewać się, że firmy będą zwiększać budżety projektów związanych z prawidłowym i świadomym wykorzystaniem danych.
„Powoli zmierzamy w stronę ery, w której Big Data jest punktem wyjścia, a nie końcem”.
Pearl Zhu, autorka książek Digital Master

Wyniki

Big Data to kolejny naprawdę ogromny obszar działania z wieloma możliwościami, w których programista Java może znaleźć zastosowanie. Podobnie jak Internet rzeczy, dziedzina ta prężnie się rozwija i doświadcza poważnego niedoboru programistów, a także innych ekspertów technicznych. Dlatego nadszedł czas, aby przestać czytać takie długie artykuły i zacząć uczyć się języka Java! Java i Big Data: dlaczego projekty Big Data nie mogą obyć się bez Java - 5
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION