No właśnie. Jak zacząć w świecie Big Data? Przecież tyle tych technologii. Widać to choćby na tym schemacie. http://mattturck.com/wp-content/uploads/2019/07/2019_Matt_Turck_Big_Data_Landscape_Final_Fullsize.png.
Język
Oczywiście najważniejszym językiem w IT jest… język angielski. Ale skończmy heheszki i oto czym powinieneś/aś się zainteresować:
- Python – Przyda się praktycznie wszędzie. Od prostych skryptów, przez skrypty w PySparku, po machine learning i inne cuda.
- Scala/Java – Większość bardziej znanych bloków składowych big data jest oparta na JVM, dlatego warto choć trochę znać te języki. Scala głównie dla Apache Spark.
Jeśli znasz już jakiś język to super. Z doświadczeniem coraz bardziej widać wspólny mianownik wszystkich języków programowania.
Newsletter
Amerykańscy naukowcy i radzieccy uczeni są zgodni w jednym: nie ma lepszego sposobu na początek przygody z Big Data, jak subskrypcja Wiadro Danych ?
Edukacja
Mini Projekt
Wiele osób pyta mnie: “Macieju, ale jak zacząć?”, na co odpowiadam: “Zacznij swój mini projekt“.
Dlatego przygotowałem listę 10 pomysłów na projekt Big Data.
Kursy
Platformy e-learningowe znacznie ułatwiają proces nauki. Poniżej klika z nich:
- https://www.udemy.com/ – w szczególności: https://www.udemy.com/user/frankkane/ oraz https://www.udemy.com/user/stephane-maarek/
- https://pluralsight.com/
- https://www.datacamp.com/
- Przygotowuję też własny kurs: Kurs Elastic Stack, jeśli interesuje Cię Elasticsearch, Kibana, Beats, Logstash
Podcasty
Poniżej lista podcastów, które śledzę w tej tematyce:
- https://www.dataengineeringpodcast.com/
- https://softwareengineeringdaily.com/category/data/
- https://bigdatabeard.com/
Studia
Ukończyłem studia podyplomowe Big Data na Politechnice Warszawskiej i mogę polecić. Pierwszy raz miałem tak, że chętnie wstawałem z łóżka w weekend, aby iśc na uczelnię i dowiedzieć się czegoś nowego ?.
Środowisko
No dobra znamy już trochę te języki. Co teraz? Od czego zacząć? Przecież tego jest od cholery!?
Hadoop + HDFS + Spark lokalnie
Okazuje się, że nie trzeba wcale dużo, aby odpalić obliczenia na swojej maszynie. W internecie znajdziesz dużo tutoriali pokazujących jak ściągnąć, zainstalować i skonfigurować w.w elementy (np. https://code.dblock.org/2017/04/02/getting-started-with-spark-hadoop-hdfs-hive.html ).
Docker
Znasz Dockera? Jak nie to najwyższy czas go poznać. Od kiedy poznałem tę technologię, nie pamiętam kiedy ostatni raz zainstalowałem jakąś bazę danych ręcznie. Chcesz pobawić się Apache NiFi? Nie ma problemu. Prawdopodobnie na Docker Hub już dawno ktoś przygotował kontener. Odpalasz. Bawisz się. Usuwasz. Żadnych śmieci.
Najszybszą opcją na rozpoczęcie zabawy z Apache Spark jest odpalenie odpowiedniego kontenera Jupyter-a. Jest to taki interaktywny, webowy “notatnik” w którym piszesz kod.
Bazy NoSQL / NewSQL
Warto wyjść poza tradycyjne relacyjne bazy danych. Odpowiedzią m.in na rosnące zapotrzebowania na skalowanie horyzontalne powstały bazy NoSQL. Rozproszenie (patrz: teoria CAP). Wybierz jedną z baz np. Mongodb, Cassandra, Elasticsearch, Redis i poznaj jej właściwości oraz działanie.
Apple’s Cassandra node count in Sep 2014 vs. now … that’s more than doubled! pic.twitter.com/v6BIEa4Cn7
— Wei Deng (@weideng) May 24, 2019
Kolejki
Prędzej czy później spotkasz się z koniecznością użycia jakiejś kolejki. Najpopularniejsze to Apache Kafka i RabbitMQ. Wykorzystuje się je m.in do rozproszenia obciążenia. Klasyka: producent i konsument ?
Hortonworks lub Cloudera Sandbox
Co prawda Cloudera wykupiła Hortonworks-a, ale nadal są dostępne sandboxy i jednej i drugiej firmy.
- Hortonworks Sandbox
- MapR Sandbox
Cloudera Sandbox<- wygląda na to, że Cloudera wycofała się z sandboxa i oferuje trial nowej platformy
Jest to bardzo wygodne rozwiązanie. Odpalamy wirtualkę i mamy namiastkę klastra Hadoop razem z innymi komponentami. Jest to dobry pomysł na poznawanie nowych technologii. W dokumentacji znajdziesz sporo przykładów i tutoriali.
Własny klaster
Jeśli masz gdzie, to możesz pokusić się o postawienie swojego klastra. Możesz wykorzystać Ambari (czyli powyższy Hortonworks) lub Cloudera Data Warehouse (CDH). Bardzo fajną instrukcję dotyczącą Ambari znajdziesz na blogu Big Data Passion.
Rozwiązania chmurowe
Czasami patrząc na ilość serwisów i produktów dostępnych w ramach chmury publicznej jest tak duża, że nie wiadomo, od czego zacząć. Mimo wszystko warto zainteresować się tymi związanymi z Big Data. Okaże się, że to co się instalowało i konfigurowało pół dnia na AWS/Azure/GCP robi się kilkoma kliknięciami w formularzu.
W Azure jest HDInsight, w AWS jest EMR (Elastic MapReduce), a w GCP Dataproc
Skąd brać dane?
Załóżmy, że już masz czym. Teraz pytanie, jakie dane masz przetwarzać. Jest wiele opcji. Tutaj znajdziesz listę źródeł danych (w tym polskie).