Сравнить коммиты

..

35 Коммитов
mle ... master

Автор SHA1 Сообщение Дата
MokhovAS b3e114a191 typo
1 год назад
MokhovAS 86190cdebb main page
1 год назад
MokhovAS 1f8d6213b7 lec12-14: pdf
1 год назад
MokhovAS 6481ca3f49 main page
1 год назад
MokhovAS c90038ec36 lab04: main page
1 год назад
MokhovAS d7ab209538 lab04
1 год назад
MokhovAS f9d785b4b0 lec13
1 год назад
MokhovAS 6ed59d2c36 lec12
1 год назад
MokhovAS df5e65ba70 lec11
1 год назад
MokhovAS 154cfba3fc Изменил(а) на 'labs/lab03.md'
1 год назад
MokhovAS 985423d77f Изменил(а) на 'labs/lab03.md'
1 год назад
MokhovAS 38bfed848e lab03: change task
1 год назад
MokhovAS c312b71dc6 lab03: links to files
1 год назад
MokhovAS 0480c863f7 README edit
1 год назад
MokhovAS 17018cdd40 lec03: files
1 год назад
MokhovAS e0232db9eb lab03
1 год назад
MokhovAS 9175081e6d lec08 - lec10
1 год назад
Mokhov Andrey 30511bfd04 lec07: main page
2 лет назад
Mokhov Andrey cfbf575845 lab02: corrections
2 лет назад
Mokhov Andrey 3f0bba56a5 lec07
2 лет назад
Mokhov Andrey 7610e73e39 lab02
2 лет назад
Mokhov Andrey 66eaf281a0 lec04
2 лет назад
Mokhov Andrey edaf55cd06 lec05
2 лет назад
Mokhov Andrey 03ffd2bf0f lec06: add materials
2 лет назад
Mokhov Andrey 13f29ca9ae lec06
2 лет назад
MokhovAS 2f8f71f20d Изменил(а) на 'labs/lab01.md'
2 лет назад
MokhovAS b17e35f99f Изменил(а) на 'labs/lab01.md'
2 лет назад
MokhovAS 402313a24d Изменил(а) на 'labs/lab01.md'
2 лет назад
MokhovAS c8964b9397 Изменил(а) на 'labs/lab01.md'
2 лет назад
MokhovAS 041268ea9f Изменил(а) на 'labs/lab01.md'
2 лет назад
MokhovAS a1d0ac906b Изменил(а) на 'labs/lab01.md'
2 лет назад
Mokhov Andrey e5d4571c71 lab01
2 лет назад
Mokhov Andrey 022a882770 lec03
2 лет назад
Mokhov Andrey 63127bd8c3 lec02
2 лет назад
Mokhov Andrey 710b90490d lec01
2 лет назад

2
.gitignore поставляемый

@ -1,2 +0,0 @@
.venv*
.~lock*

@ -3,8 +3,25 @@
## Лекции ## Лекции
| Дата |Лекция | | Дата |Лекция |
|:----------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | :---: | :--- |
| 05.09.2024 | [Вводная лекция](lectures/lec_1.odp) | | 05.09.2023 | [Вводная лекция](lectures/IIS_lec_1.pdf) [pptx](lectures/IIS_lec_1.pptx) |
| 12.09.2024 | [Изолирование окружения. Docker](lectures/lec_2-Docker.pdf) | | 13.09.2023 | [Файловая система HDFS](lectures/IIS_lec_2.pdf) [pptx](lectures/IIS_lec_2.pptx) |
| 19.09.2023 | [MapReduce](lectures/IIS_lec_3.pdf) [pptx](lectures/IIS_lec_3.pptx) |
| 26.09.2023 | [Решение задач MapReduce](lectures/IIS_lec_4.pdf) [pptx](lectures/IIS_lec_4.pptx) |
| 03.10.2023 | [Решение задач MapReduce - tf-idf](lectures/IIS_lec_5.pdf) [pptx](lectures/IIS_lec_5.pptx) |
| 10.10.2023 | [Работа с графами](lectures/IIS_lec_6.pdf) [pptx](lectures/IIS_lec_6.pptx) |
| 17.10.2023 | [Работа с графами. PageRank](lectures/IIS_lec_7.pdf) [pptx](lectures/IIS_lec_7.pptx) |
| 24.10.2023 | [Apache Pig](lectures/IIS_lec_8.pdf) [pptx](lectures/IIS_lec_8.pptx) |
| 31.10.2023 | [Apache Pig – решение задач](lectures/IIS_lec_9.pdf) [pptx](lectures/IIS_lec_9.pptx) |
| 14.11.2023 | [Apache Hive](lectures/IIS_lec_10.pdf) [pptx](lectures/IIS_lec_10.pptx) |
| 21.11.2023 | [NoSQL базы данных](lectures/IIS_lec_11.pdf) [pptx](lectures/IIS_lec_11.pptx) |
| 28.11.2023 | [СУБД HBase](lectures/IIS_lec_12.pdf) [pptx](lectures/IIS_lec_12.pptx) |
| 05.12.2023 | [СУБД Cassandra](lectures/IIS_lec_13.pdf) [pptx](lectures/IIS_lec_13.pptx) |
| 12.12.2023 | [Фреймворк Spark](lectures/IIS_lec_14.pdf)|
## Лабораторные работы ## Лабораторные работы
* Лабораторная работа №1 [Знакомство с Hadoop](labs/lab01.md)
* Лабораторная работа №2 [Алгоритмы MapReduce](labs/lab02.md)
* Лабораторная работа №3 [Знакомство с инструментами Pig и Hive](labs/lab03.md)
* Лабораторная работа №4 [Знакомство с NoSQL СУБД HBase](labs/lab04.md)

@ -1,11 +0,0 @@
FROM python:3.11-slim
COPY . /myapp
WORKDIR /myapp
RUN pip install python-dotenv
ENTRYPOINT [ "python", "multiply.py" ]

@ -1,6 +0,0 @@
import sys
def main(a = 3, b = 5):
print(f"multiply {a} by {b} is {a * b}")
main(int(sys.argv[1]), int(sys.argv[2]))

@ -0,0 +1,14 @@
1 0 {2,3}
2 INF {4,5,6,13}
3 INF {}
4 INF {7,8}
5 INF {9,10}
6 INF {7,9,11}
7 INF {}
8 INF {12,13}
9 INF {}
10 INF {}
11 INF {}
12 INF {}
13 INF {14}
14 INF {}

@ -0,0 +1,8 @@
1 0.125 {2,4}
2 0.125 {3,5,7}
3 0.125 {4,8}
4 0.125 {5}
5 0.125 {1}
6 0.125 {1,3}
7 0.125 {4}
8 0.125 {2,4,6}

Двоичные данные
labs/assets/shakespear.txt

Двоичный файл не отображается.

@ -0,0 +1,11 @@
user1 Jack76@gmail.com 23-01-2022
user2 Hobart99@hotmail.com 25-01-2022
user4 Marlon69@gmail.com 02-02-2022
user5 Marvin_Hettinger01@yahoo.com 05-02-2022
user6 Claude31@gmail.com 06-02-2022
user7 Eldora_Heller73@gmail.com 06-02-2022
user8 Elizabeth8@yahoo.com 09-02-2022
user9 Monserrat.Carter77@hotmail.com 10-02-2022
user10 Chris22@gmail.com 12-02-2022
user11 Roman.Gibson48@gmail.com 14-02-2022
user12 Wyat9@hotmail.com 15-02-2022

@ -0,0 +1,500 @@
22:03:42 user7 ya.ru 947
22:11:05 user9 vk.com 629
04:08:39 user3 lenta.ru 480
22:30:44 user7 mail.ru 29
17:14:53 user7 ya.ru 626
19:06:49 user1 ya.ru 863
18:36:24 user6 vk.com 418
21:57:54 user8 ya.ru 813
10:11:11 user4 lenta.ru 342
18:23:28 user6 stackoverflow.com 275
23:27:33 user7 telegram.com 721
17:31:18 user4 telegram.com 601
07:47:02 user8 telegram.com 964
09:16:21 user7 ya.ru 90
23:22:43 user5 ya.ru 819
10:31:07 user1 mail.ru 832
11:30:19 user9 mail.ru 329
03:02:57 user5 google.com 683
06:47:27 user9 telegram.com 929
05:53:14 user5 telegram.com 563
19:45:10 user3 vk.com 767
00:36:28 user10 stackoverflow.com 39
08:41:30 user2 stackoverflow.com 74
01:49:43 user1 telegram.com 175
16:02:08 user9 mail.ru 436
14:31:34 user4 ya.ru 17
05:08:14 user5 ya.ru 937
21:55:19 user5 vk.com 324
16:21:50 user3 stackoverflow.com 63
07:25:48 user8 telegram.com 780
04:41:09 user3 vk.com 377
00:07:55 user9 google.com 8
00:47:04 user5 google.com 806
07:47:33 user6 lenta.ru 92
08:29:12 user5 stackoverflow.com 798
23:27:29 user6 google.com 597
22:21:02 user9 lenta.ru 837
18:48:39 user10 telegram.com 187
00:31:48 user8 mail.ru 693
19:13:28 user5 mail.ru 611
20:50:56 user7 google.com 721
14:40:48 user7 ya.ru 794
00:17:06 user8 vk.com 303
23:29:08 user3 google.com 562
17:49:38 user4 telegram.com 526
18:28:32 user4 mail.ru 74
20:07:52 user3 google.com 162
23:00:36 user10 lenta.ru 628
06:01:48 user5 lenta.ru 792
11:09:08 user9 ya.ru 819
07:00:01 user9 google.com 523
08:14:00 user10 vk.com 689
18:35:40 user7 lenta.ru 331
03:20:14 user4 google.com 54
09:07:15 user8 mail.ru 873
18:32:06 user7 ya.ru 568
04:46:48 user4 ya.ru 656
14:19:17 user7 google.com 613
11:24:55 user8 google.com 321
01:04:48 user1 vk.com 416
20:07:45 user10 lenta.ru 639
06:56:03 user6 stackoverflow.com 425
11:16:30 user10 stackoverflow.com 2
19:07:15 user3 lenta.ru 829
10:38:11 user5 telegram.com 669
01:40:05 user1 stackoverflow.com 353
03:28:26 user7 ya.ru 297
20:34:04 user4 telegram.com 523
03:12:38 user2 vk.com 828
23:45:37 user7 google.com 894
04:37:36 user9 ya.ru 393
23:21:44 user6 mail.ru 24
21:04:06 user10 mail.ru 393
13:45:27 user10 telegram.com 862
07:04:14 user9 lenta.ru 719
09:08:47 user2 ya.ru 405
10:40:19 user10 ya.ru 281
08:18:54 user3 telegram.com 584
15:18:11 user7 ya.ru 151
05:49:13 user5 ya.ru 541
18:43:13 user7 telegram.com 814
20:32:47 user10 telegram.com 137
08:23:22 user2 ya.ru 242
17:35:44 user8 ya.ru 987
23:28:18 user6 ya.ru 647
17:41:07 user6 mail.ru 671
17:57:42 user7 ya.ru 699
19:54:46 user3 google.com 814
22:18:36 user4 mail.ru 87
22:14:50 user4 stackoverflow.com 812
05:32:00 user5 stackoverflow.com 526
10:45:04 user3 ya.ru 643
13:30:28 user7 vk.com 554
07:03:50 user6 lenta.ru 448
05:56:24 user10 telegram.com 415
04:26:45 user3 stackoverflow.com 212
12:40:25 user10 mail.ru 843
05:35:42 user5 mail.ru 552
04:47:15 user5 lenta.ru 98
03:15:14 user9 telegram.com 816
12:44:40 user4 lenta.ru 569
19:50:43 user3 lenta.ru 738
07:01:37 user1 telegram.com 830
16:47:46 user10 telegram.com 867
23:58:47 user8 google.com 922
12:46:02 user4 lenta.ru 428
09:51:50 user9 telegram.com 266
17:53:18 user5 lenta.ru 843
06:50:21 user9 stackoverflow.com 535
11:01:29 user9 telegram.com 920
12:05:02 user3 vk.com 387
04:49:34 user7 vk.com 302
16:50:30 user4 stackoverflow.com 146
03:38:55 user2 stackoverflow.com 79
03:32:38 user7 ya.ru 964
06:15:37 user6 lenta.ru 311
09:33:34 user6 ya.ru 266
05:47:51 user6 google.com 218
18:21:46 user4 lenta.ru 819
23:30:52 user4 vk.com 589
19:54:14 user5 mail.ru 148
00:07:31 user6 telegram.com 704
14:37:53 user9 ya.ru 912
13:37:26 user7 vk.com 636
17:28:20 user6 stackoverflow.com 911
09:09:59 user7 ya.ru 383
23:28:34 user1 lenta.ru 164
20:01:04 user4 ya.ru 398
23:37:47 user9 stackoverflow.com 987
15:37:34 user4 google.com 687
07:32:42 user1 google.com 443
02:09:31 user2 ya.ru 230
08:04:50 user1 telegram.com 70
01:58:03 user7 mail.ru 173
07:12:29 user1 vk.com 486
23:18:52 user2 mail.ru 578
01:04:44 user6 telegram.com 708
00:27:50 user1 mail.ru 180
02:47:33 user4 google.com 225
18:15:47 user1 mail.ru 333
11:02:25 user3 vk.com 78
01:33:08 user4 lenta.ru 789
13:13:30 user1 vk.com 142
15:44:13 user8 ya.ru 181
10:50:52 user1 mail.ru 663
17:22:57 user5 ya.ru 80
04:23:33 user7 lenta.ru 452
07:43:57 user9 ya.ru 320
01:23:18 user1 ya.ru 630
09:27:26 user6 google.com 916
07:33:39 user1 mail.ru 417
06:39:25 user1 telegram.com 484
23:36:16 user7 lenta.ru 348
14:25:34 user8 vk.com 702
10:46:12 user8 telegram.com 591
12:57:23 user3 lenta.ru 973
02:08:37 user4 lenta.ru 510
08:08:46 user4 telegram.com 147
00:18:51 user5 vk.com 146
14:13:43 user4 vk.com 50
12:11:57 user1 ya.ru 963
16:58:21 user4 vk.com 549
08:08:35 user4 vk.com 918
12:10:01 user10 mail.ru 651
14:29:13 user4 stackoverflow.com 668
20:39:50 user10 vk.com 185
15:57:05 user8 mail.ru 103
06:16:57 user6 vk.com 281
12:03:44 user8 stackoverflow.com 543
13:50:47 user1 stackoverflow.com 863
11:46:28 user3 stackoverflow.com 834
01:07:48 user1 vk.com 382
21:58:46 user6 google.com 372
05:44:13 user8 ya.ru 956
22:31:39 user9 stackoverflow.com 500
03:26:32 user4 google.com 65
13:31:05 user10 mail.ru 834
20:42:50 user5 vk.com 947
08:48:05 user8 google.com 348
14:26:36 user1 mail.ru 310
21:33:13 user7 mail.ru 843
15:04:39 user7 stackoverflow.com 874
20:04:07 user6 vk.com 437
15:33:23 user7 telegram.com 596
19:48:44 user7 stackoverflow.com 233
07:55:47 user6 telegram.com 83
23:49:22 user9 mail.ru 831
09:14:32 user2 telegram.com 784
11:58:33 user5 stackoverflow.com 535
19:09:21 user10 ya.ru 715
03:41:11 user2 vk.com 131
12:19:01 user10 vk.com 36
11:54:35 user3 stackoverflow.com 825
21:26:01 user2 google.com 911
14:45:36 user8 stackoverflow.com 968
03:20:02 user2 vk.com 525
08:40:26 user10 stackoverflow.com 220
08:46:23 user7 mail.ru 57
23:53:53 user3 lenta.ru 709
02:47:54 user3 mail.ru 728
22:20:18 user2 telegram.com 137
21:23:38 user10 vk.com 556
00:54:30 user10 lenta.ru 335
07:09:59 user7 telegram.com 63
21:47:19 user5 stackoverflow.com 631
21:25:23 user8 vk.com 289
09:27:14 user7 lenta.ru 598
22:13:29 user4 mail.ru 350
06:15:44 user7 google.com 680
15:31:36 user3 google.com 68
06:14:59 user3 mail.ru 874
15:49:47 user8 ya.ru 507
15:00:53 user6 lenta.ru 524
15:34:52 user9 lenta.ru 716
02:24:33 user6 stackoverflow.com 759
17:06:19 user3 google.com 982
21:25:53 user3 telegram.com 243
11:43:31 user10 stackoverflow.com 102
11:36:21 user5 ya.ru 824
08:57:48 user8 telegram.com 804
12:27:05 user10 lenta.ru 59
17:54:58 user1 vk.com 367
10:04:24 user8 ya.ru 574
09:19:07 user4 ya.ru 904
21:00:05 user2 lenta.ru 80
06:50:52 user4 google.com 443
05:49:12 user9 telegram.com 877
14:04:01 user9 google.com 961
09:27:40 user4 stackoverflow.com 707
16:17:55 user4 ya.ru 94
19:52:58 user3 vk.com 340
02:33:33 user6 mail.ru 94
19:47:14 user4 google.com 697
19:14:44 user4 vk.com 327
00:05:04 user8 stackoverflow.com 875
04:20:47 user9 mail.ru 984
13:59:40 user9 google.com 149
05:34:14 user3 ya.ru 627
21:35:09 user5 lenta.ru 680
18:51:53 user4 google.com 976
03:54:01 user4 telegram.com 933
00:57:33 user1 google.com 723
21:42:44 user4 vk.com 989
11:12:49 user10 mail.ru 993
04:42:31 user7 stackoverflow.com 671
11:28:57 user7 stackoverflow.com 369
06:15:28 user6 lenta.ru 779
22:49:24 user8 google.com 658
20:11:10 user9 stackoverflow.com 701
15:24:36 user10 google.com 5
18:09:32 user7 mail.ru 73
13:33:39 user7 google.com 347
04:31:44 user8 vk.com 904
05:06:14 user1 ya.ru 756
10:18:29 user7 ya.ru 445
10:18:02 user4 google.com 115
05:50:25 user4 mail.ru 443
15:01:04 user3 google.com 818
07:40:05 user9 telegram.com 925
00:49:59 user1 vk.com 884
07:19:35 user2 lenta.ru 758
15:49:44 user2 vk.com 227
04:38:37 user6 ya.ru 216
13:33:28 user7 stackoverflow.com 914
20:23:07 user5 ya.ru 681
16:47:20 user9 lenta.ru 237
23:18:46 user10 ya.ru 879
03:23:24 user9 telegram.com 409
00:31:41 user7 google.com 550
11:12:16 user7 ya.ru 924
19:49:00 user9 ya.ru 617
02:24:55 user2 telegram.com 672
09:00:33 user8 telegram.com 666
00:14:08 user4 stackoverflow.com 960
21:04:24 user2 vk.com 861
06:56:12 user6 lenta.ru 569
16:09:10 user3 vk.com 628
04:18:52 user4 ya.ru 185
05:53:17 user6 ya.ru 242
10:14:54 user10 mail.ru 883
07:30:10 user9 stackoverflow.com 907
14:03:46 user1 stackoverflow.com 397
05:12:37 user9 vk.com 616
13:32:45 user4 lenta.ru 79
02:59:04 user2 google.com 638
09:21:21 user3 ya.ru 981
04:19:13 user1 telegram.com 238
22:19:13 user1 telegram.com 279
22:01:28 user9 vk.com 401
17:20:19 user7 vk.com 995
09:52:58 user5 vk.com 614
23:19:48 user2 lenta.ru 600
04:08:21 user8 vk.com 563
18:11:46 user2 telegram.com 550
18:58:12 user4 ya.ru 51
07:39:05 user1 ya.ru 187
13:55:26 user2 telegram.com 663
06:39:29 user9 telegram.com 296
16:17:18 user10 google.com 38
12:17:17 user4 telegram.com 613
21:48:48 user5 telegram.com 519
12:12:33 user1 vk.com 860
02:45:50 user3 lenta.ru 411
00:34:42 user4 vk.com 335
08:50:59 user4 telegram.com 202
22:54:38 user1 vk.com 239
04:45:14 user5 mail.ru 267
19:35:51 user8 vk.com 738
11:29:14 user8 ya.ru 553
22:57:08 user6 google.com 338
12:56:14 user2 telegram.com 17
22:54:46 user5 mail.ru 499
02:00:31 user2 vk.com 459
14:38:44 user2 ya.ru 822
20:55:22 user4 vk.com 218
09:31:53 user3 telegram.com 971
05:34:24 user7 vk.com 113
18:27:58 user10 lenta.ru 751
15:31:21 user4 ya.ru 153
20:08:57 user2 mail.ru 78
09:09:25 user4 telegram.com 909
20:52:53 user1 mail.ru 736
12:08:23 user9 lenta.ru 837
01:39:11 user3 telegram.com 596
08:11:35 user6 stackoverflow.com 130
11:37:14 user3 google.com 650
02:21:19 user4 telegram.com 417
13:59:13 user2 mail.ru 332
23:00:42 user3 vk.com 77
16:14:28 user6 ya.ru 946
04:08:27 user2 lenta.ru 836
04:51:00 user10 google.com 536
20:02:44 user10 ya.ru 236
19:50:22 user8 ya.ru 320
20:23:13 user4 mail.ru 25
19:20:32 user9 vk.com 118
18:41:15 user5 telegram.com 774
10:21:39 user6 lenta.ru 257
04:36:55 user2 ya.ru 29
20:08:11 user6 vk.com 123
23:28:56 user1 telegram.com 325
16:43:28 user6 ya.ru 129
16:13:38 user6 mail.ru 739
06:47:52 user1 ya.ru 125
14:21:50 user4 vk.com 340
01:09:31 user1 ya.ru 912
13:31:51 user7 vk.com 583
10:45:15 user10 lenta.ru 909
07:37:42 user4 lenta.ru 523
15:21:16 user6 stackoverflow.com 349
01:55:09 user3 google.com 840
02:56:05 user2 google.com 918
18:47:53 user10 google.com 154
16:31:58 user3 ya.ru 177
15:48:14 user1 ya.ru 315
21:35:54 user10 stackoverflow.com 752
15:48:18 user10 vk.com 167
22:48:54 user10 mail.ru 949
03:20:30 user2 stackoverflow.com 628
10:22:02 user5 vk.com 119
07:12:05 user3 google.com 140
22:54:12 user4 stackoverflow.com 9
22:52:00 user9 vk.com 243
16:36:18 user4 google.com 720
07:25:11 user10 lenta.ru 360
10:53:14 user5 stackoverflow.com 115
22:06:24 user6 mail.ru 204
08:09:50 user9 ya.ru 639
01:23:25 user8 lenta.ru 949
14:07:07 user5 ya.ru 212
00:11:14 user6 stackoverflow.com 153
21:04:52 user8 google.com 673
09:04:20 user9 telegram.com 899
03:55:32 user4 telegram.com 773
20:09:40 user8 telegram.com 885
08:56:49 user10 ya.ru 212
11:19:22 user4 stackoverflow.com 2
06:23:19 user2 vk.com 323
06:31:18 user9 lenta.ru 878
07:55:28 user10 vk.com 8
04:56:05 user3 lenta.ru 442
15:55:46 user6 mail.ru 894
09:58:49 user10 telegram.com 355
19:17:21 user8 ya.ru 280
02:25:53 user2 lenta.ru 391
01:24:10 user5 telegram.com 805
15:04:49 user9 mail.ru 88
12:03:53 user9 mail.ru 763
01:31:44 user4 ya.ru 790
16:36:50 user9 ya.ru 656
01:49:36 user2 vk.com 250
17:52:13 user6 telegram.com 493
15:31:37 user7 mail.ru 81
06:28:53 user1 lenta.ru 597
19:06:28 user2 telegram.com 979
07:34:54 user8 ya.ru 153
20:43:04 user10 mail.ru 37
16:13:16 user9 google.com 422
06:21:44 user9 ya.ru 999
22:19:57 user9 google.com 487
21:39:34 user9 stackoverflow.com 235
16:29:19 user7 lenta.ru 778
06:53:08 user7 mail.ru 660
10:36:50 user2 ya.ru 957
21:48:51 user10 vk.com 811
21:58:18 user6 telegram.com 805
18:23:54 user8 stackoverflow.com 930
21:35:30 user7 telegram.com 729
04:20:22 user8 stackoverflow.com 462
08:30:00 user6 telegram.com 396
20:18:27 user6 telegram.com 391
07:42:17 user7 telegram.com 878
11:06:38 user7 ya.ru 503
16:23:35 user7 lenta.ru 100
01:41:21 user7 vk.com 68
23:44:06 user1 telegram.com 268
18:02:19 user4 ya.ru 70
18:34:29 user4 mail.ru 470
03:25:06 user2 telegram.com 790
19:59:09 user8 mail.ru 384
15:01:55 user7 stackoverflow.com 370
02:04:39 user9 stackoverflow.com 476
18:30:31 user9 ya.ru 829
11:52:36 user5 ya.ru 187
20:32:38 user1 stackoverflow.com 714
08:44:38 user5 lenta.ru 122
19:29:26 user2 ya.ru 851
17:48:57 user3 ya.ru 737
23:23:34 user1 lenta.ru 450
16:59:05 user3 telegram.com 268
11:43:50 user9 mail.ru 491
02:51:48 user8 stackoverflow.com 287
09:56:43 user2 stackoverflow.com 381
08:45:16 user2 vk.com 790
05:54:14 user8 telegram.com 986
15:07:58 user7 stackoverflow.com 629
12:27:07 user9 telegram.com 634
05:56:17 user8 telegram.com 262
11:04:42 user4 google.com 206
18:12:41 user3 lenta.ru 818
17:58:23 user8 vk.com 752
09:13:13 user6 stackoverflow.com 574
09:14:11 user5 lenta.ru 933
23:48:42 user5 google.com 665
13:08:36 user7 telegram.com 301
16:22:32 user4 ya.ru 45
02:27:01 user3 mail.ru 506
17:36:01 user6 telegram.com 334
18:39:35 user1 stackoverflow.com 569
08:40:18 user6 telegram.com 84
14:59:41 user2 mail.ru 496
01:38:07 user2 mail.ru 716
01:19:11 user5 vk.com 467
02:22:51 user10 google.com 540
14:42:58 user7 google.com 688
00:45:36 user6 google.com 296
13:17:02 user4 lenta.ru 470
01:51:33 user1 stackoverflow.com 355
03:19:23 user3 lenta.ru 923
09:57:04 user1 telegram.com 625
12:52:14 user5 stackoverflow.com 749
02:59:47 user7 lenta.ru 535
17:57:03 user6 google.com 618
19:45:48 user3 vk.com 533
17:43:42 user1 google.com 924
15:01:14 user3 vk.com 526
04:00:36 user1 lenta.ru 416
08:37:13 user9 mail.ru 236
04:29:43 user9 ya.ru 179
16:57:32 user9 lenta.ru 291
13:02:28 user5 mail.ru 113
23:48:24 user5 stackoverflow.com 755
00:25:50 user2 google.com 471
23:20:36 user3 vk.com 405
00:37:27 user9 mail.ru 211
21:09:09 user10 google.com 438
01:22:17 user9 ya.ru 893
08:52:51 user6 telegram.com 369
02:12:19 user9 ya.ru 470
02:45:23 user4 ya.ru 233
11:51:42 user1 stackoverflow.com 979
01:57:46 user3 stackoverflow.com 118
04:50:29 user8 mail.ru 474
20:54:36 user10 ya.ru 635
19:48:56 user7 lenta.ru 480
18:02:03 user4 stackoverflow.com 447
09:19:02 user9 vk.com 615
16:04:11 user3 telegram.com 266
20:16:14 user1 telegram.com 871
00:40:06 user5 telegram.com 726
08:53:25 user10 ya.ru 520
22:59:49 user5 vk.com 677
04:54:04 user4 lenta.ru 487
18:51:42 user6 mail.ru 587
05:46:05 user7 google.com 32
20:46:19 user3 vk.com 78
03:09:30 user5 telegram.com 25
07:22:33 user10 mail.ru 36
13:18:50 user5 vk.com 551
20:03:00 user7 stackoverflow.com 800

Двоичные данные
labs/assets/visits1.txt

Двоичный файл не отображается.

Двоичные данные
labs/assets/visits2.txt

Двоичный файл не отображается.

Двоичные данные
labs/assets/visits3.txt

Двоичный файл не отображается.

@ -0,0 +1,127 @@
# Лабораторная работа №1. Знакомство с Hadoop
## Цель
* Установить вирутальную машину с Hadoop
* Познакомиться с работой в файловой системе HDFS
* Реализовать MapReduce задачу для подсчета слов в тексте (Word Count)
## Выполнение
Защита лабораторной работы подразумевает наличие отчета, который должен содержать пункты задания, команды, которые вы вводите и ответы системы на них.
При необходимости - комментарии по полученным результатам.
### Установка вирутальной машины
На компьютере должна быть установлена вирутальная машина Oracle VM VirtualBox. Скачать дистрибутив можно по [ссылке](https://www.virtualbox.org/wiki/Downloads) (распространяется бесплатно под лицензией GPLv2)
Кроме того, на компьютере должен находиться образ виртуальной машины (файлы с расширением `.ovf` и `.vmdk`). В лаборатории его можно скачать из сетевой папки компьютера DESKTOP_TENJU5T.
Для установки образа нужно выполнить следующие действия:
* Открыть VirtualBox
* В меню "Файл" выбрать "Импорт конфигурации".
* Указать путь до файла с образом `.ovf`.
* В параметрах импорта указать размер памяти ОЗУ 8192 Мб, остальное оставить без изменений.
* Нажать кнопку "Импорт" и дождаться завершения.
В меню появится новая виртуальная машина - включить ее и дождаться загрузки
### Знакомство с работой в файловой системе HDFS
Для выполнения этой лабораторной работы используте терминал, а не файловые менеджеры.
1. В домашней директории локальной файловой системы создайте директорию `stud`. **В дальнейшем все требуемые файлы создавайте в этой директории**
2. Создайте текстовый файл `hello_hadoop.txt` с двумя строками. В первой строке - Фамилия и Имя, во второй строке - текст:
_Hello Hadoop! The Apache Hadoop is a framework that allows the distributed processing of large data sets across clusters of computers using simple programming models.
Hadoop provides a software framework for distributed storage and processing of big data_
3. Сформируйте текстовый файл большого объема (начиная от нескольких Мб). Например, воспользуйтесь сайтом [lib.ru](http://lib.ru/).
Скачать текстовый файл можно с помощью команды `wget`, передав в кавычках адрес файла, например:
```
wget "http://lib.ru/LITRA/PUSHKIN/p3.txt"
```
4. Поверьте, что файл имеет корректную кодировку. При необходимости, исправить кодировку можно одной из команд, которые запишут результат в новый файл:
```
cat p3.txt | iconv -f windows-1251 -t utf8 > p3_utf.txt
cat p3.txt | iconv -f koi8-r -t utf8 > p3_utf.txt
```
5. Просмотрите содержимое корневой директории файловой системы HDFS. Поясните результат.
6. Создайте в HDFS директорию `/stud` в корневой директории. **В дальнейшем все требуемые файлы создавайте в этой директории**
7. Создайте пустой файл `hello_hdfs.txt`.
8. Выведите содержимое папки `/stud`, соданной в HDFS, поясните результат.
9. Скопируйте файл `hello_hdfs.txt` в локальную файловую систему в папку `/stud`, убедитесь что копирование выполнено.
10. Скопируйте из локальной файловой системы в HDFS 'большой текстовый файл', созданный в п.3.
11. Выведите содержимое папки `/stud`, соданной в HDFS, поясните результат.
### Реализация и запуск MapReduce задачи
В этом пункте задания нужно выполнить подсчет количества повторений каждого слова в файле, созданном в п.3.
Для этого нужно реализовать на языке Python два модуля: `mapper` и `reducer`, проверить (отладить) их работу
в локальной файловой системе на небольшом файле, а затем перенести модули в HDFS и выполнить обработку большого текста.
1. Реализуйте в локальной папке `/stud` два модуля на языке Python: `mapper.py` и `reducer.py` (см. лекции)
2. Проверьте работу `mapper.py`, подав на вход файл 'hello_hadoop.txt'
3. Проверьте работу связки mapper-reducer на файле 'hello_hadoop.txt'
Для связки в терминале нескольких команд в одну удобно использовать [_pipeline_](https://www.gnu.org/software/bash/manual/html_node/Pipelines.html) - последовательность команд, разделенных символом `|`.
При этом вывод первой команды будет являться входными данными для следующией и так далее по цепочке.
Например, чтобы подать на вход `mapper.py` данные из файла 'hello_hadoop.txt', а результат отсортировать по ключу, нужно выполнить цепочку:
прочитать файл -> результат чтения передать в `mapper.py` -> результат выполнения отсортировать:
```
cat hello_hadoop.txt | mapper.py | sort
```
4. Выполните подсчет слов в большом текстовом файле, находящемся в HDFS
Для запуска MapReduce задачи, написанной на языке, отличном от Java, существует специальная утилита [Hadoop Streaming](https://hadoop.apache.org/docs/stable1/streaming.html).
Для запуска необходимо выполнить jar-файл _hadoop-streaming.jar_, подав в качестве параметров информацию о входном файле, расположенном в HDFS, о папке в HDFS, куда должен быть записан результат,
о расположении кода mapper'а и reducer'а.
```
hadoop jar /usr/lib/hadoop-mapreduce/hadoop-streaming.jar \
-input <hdfs/path/to/input_file> \
-output <hdfs/output/dir> \
-mapper "python </path/to/mapper.py>" \
-reducer "python </path/to/reducer.py>"
```
Путь к файлу hadoop-streaming.jar может меняться в зависимости от операционной системы и настройках при установке.
При указании пути угловые скобки `<` `>` писать *не нужно*
В опциях `-mapper`, `-reducer` слово python указывает ОС, что необходимо выполнить программу на языке Python, расположенную по заданному локальному пути.
В **случае ошибки выполнения** и последующего перезапуска команды может возникнуть сообщение об ошибке, что папке, указанная в `-output` уже существует. В этом случае ее нужно удалить.
5. После успешного выполнения расчетов сохраните в отчет и проанализируйте выведенную статистику по задаче, укажите какие файлы создались в выходной директории и первые 50 строк каждого.
### Вопросы
1. Что такое Hadoop?
2. Что такое HDFS?
3. Что такое MapReduce?
4. Какие этапы существуют в модели MapReduce?
5. Какими командами можно скопировать файл из локальной файловой системы в HDFS и обратно?
6. Для чего нужна и как работает утилита _hadoop-streaming_?

@ -0,0 +1,160 @@
# Лабораторная работа №2. Реализация алгоритма MapReduce
## Цель
* Научиться реализовывать алгоритмы в парадигме MapReduce
## Выполнение
Защита лабораторной работы подразумевает наличие отчета, который должен содержать пункты задания, команды, которые вы вводите и ответы системы на них.
При необходимости - комментарии по полученным результатам.
### Задачи
* Разработать на языке Python алгоритм в парадигме MapReduce в соответствии с вариантом.
* Разработку и тестирование допускается проводить в локальной системе.
* Запустить разработанный алгоритм в среде Hadoop.
* Убедиться в корректности полученных результатов.
* Сформировать отчет о выполненной работе. В отчете показать финальный результат работы (или его часть).
### Варианты заданий
#### 1. Сравнение посещаемости сайтов в разное время
__Дано__: ежедневные журналы посещений сайтов за три дня:
* [День 1](assets/visits1.txt)
* [День 2](assets/visits2.txt)
* [День 3](assets/visits3.txt)
Формат данных:
```
19:05:44 telegram.com 622
01:08:01 vk.com 935
22:28:55 mail.ru 154
17:15:16 mail.ru 100
```
Первый столбец - время посещения.
Второй столбец - сайт.
Третий столбец - продолжительность посещения в секундах.
__Требуется__: определить среднюю за три дня продолжительность посещения в первой и второй половине дня.
Алгоритм должен включать этап `combiner`.
Первая половина дня: с 00:00:00 по 12:59:59
Вторая половина дня: с 13:00:00 по 23:59:59
Формат вывода:
```
telegram.com 510 234
vk.com 384 651
mail.ru 154 324
```
Первый столбец - сайт.
Второй столбец - средняя продожительность посещения в первой половине дня в секундах.
Третий столбец - средняя продожительность посещения во второй половине дня в секундах.
#### 2. Определение минимального расстояния до каждой вершины
__Дано__: [структура графа](assets/graph.txt) в виде списка смежности:
```
1 0 {2,3,4}
2 INF {5,6}
6 INF {}
```
Первый столбец - номер вершины.
Второй столбец - известное расстояние до данной вершины.
Третий столбец - список смежных вершин.
__Требуется__: рассчитать минимальное расстояние до каждой вершины используя метод поиска в ширину (BFS).
Формат вывода:
```
1 0 {2,3,4}
2 1 {5,6}
6 2 {}
```
Структура такая же, как и у входного файла.
Вес всех ребер равен единице.
Обратить внимание, что данный алгоритм итеративный, т.е. требует нескольких запусков задачи MapReduce.
Итоговый результат должен отображать расстояние до __всех__ вершин графа.
#### 3. PageRank
__Дано__: [Структура графа сети](assets/pagerank.txt) в виде ключа, веса PageRank и смежных вершин
```
1 0.200 {2,4}
2 0.200 {3,5}
3 0.200 {4}
...
```
Параметры:
```
alpha = 0.1
```
__Требуется__: рассчитать веса PageRank по прошествии 3 итераций.
```
1 0.080 {2,4}
2 0.170 {3,5}
3 0.170 {4}
...
```
Структура такая же, как и у входного файла. Все округления до 3 знаков после запятой.
#### 4. TF-IDF
__Дано__: [Текст трех произведений](assets/shakespear.txt). В начале каждой строки указан номер произведения.
__Требуется__: рассчитать tf-idf вес каждого слова в каждом произведении.
Формат вывода:
```
Слово1#1 0.123
Слово1#2 0.234
Слово2#1 0.678
```
После слова через решетку идет номер документа, далее через отступ - tf-idf вес данного слова в данном документе.
### Вопросы
1. Какие этапы существуют у MapReduce задач?
2. Какие принцип должны закладываться в алгоритмы, написанные в парадигме MapReduce?
2. В каком виде осуществляется передача данных между Map и Reduce?
3. Как определяется число mapper-процессов в MapReduce задаче?
4. Как могут представляться графы в математическом виде? Как они обычно представляются в задачах MapReduce?
5. В чем заключается и как работает алгоритм PageRank?

@ -0,0 +1,80 @@
# Лабораторная работа №3. Знакомство с инструментами Pig и Hive
## Цель
* Научиться обрабатывать и проводить анализ данных с помощью инструметов Pig и Hive.
## Выполнение
Защита лабораторной работы подразумевает наличие отчета, который должен содержать пункты задания, команды, которые вы вводите и ответы системы на них.
При необходимости - комментарии по полученным результатам.
## Задание
**Внимание**: В локальной папке `stud` создать папку `lab03`. Далее работы проводить в этой папке
### Знакомство с Pig
1.1 Загрузить текстовый файл в соответствии с вариантом.
1.2 В среде `grunt`, запущенной __локально__ реализовать алгоритм подсчета слов (word count). Результат должен быть уполрядочен по алфавиту
1.3 Модифицировать алгоритм, выводя только слова на первую букву вашей фамилии.
1.4 Модифицировать алгоритм таким образом, чтобы после подсчета word_count и фильтрации по первой букве,
в качестве результата выдавалась сумма всех значений столбца `count' (сумма слов).
### Знакомство с Hive
2.1 В среде `Hive` создать таблицы `visits` и `info`, позволяющие хранить данные из файлов [user_visits.txt](assets/user_visits.txt) и [user_info.txt](assets/user_info.txt)
2.2 Загрузить данные в таблицы.
2.3 Найти в HDFS место хранения таблиц, в отчете указать их размер и уровень репликации.
2.4 Сформировать запросы, которые выводят первые 10 строк каждой таблицы.
2.5 Создать запрос, который выводит среднее время посещения всех сайтов пользователем с номером, совпададающим с вашим номером по журналу.
2.6 Создать запрос, который выведет электронный адрес, идентификатор пользователя, название посещенного сайта и время посещения этого сайта.
2.7 Создать запрос, реализующий полное внешнее соединение таблиц `visits` и `info`. Пояснить, какие строки каждой из таблиц попали или не попали в результирующее множество.
### Варианты заданий
1. http://lib.ru/SHAKESPEARE/ENGL/dream_en.txt
2. http://lib.ru/SHAKESPEARE/ENGL/much_en.txt
3. http://lib.ru/SHAKESPEARE/ENGL/pericles_en.txt
4. http://lib.ru/SHAKESPEARE/ENGL/errors_en.txt
5. http://lib.ru/SHAKESPEARE/ENGL/mercant_en.txt
6. http://lib.ru/SHAKESPEARE/ENGL/winters_en.txt
7. http://lib.ru/SHAKESPEARE/ENGL/measure_en.txt
8. http://lib.ru/SHAKESPEARE/ENGL/allend_en.txt
9. http://lib.ru/SHAKESPEARE/ENGL/pilgrim_en.txt
10. http://lib.ru/SHAKESPEARE/ENGL/macbeth_en.txt
11. http://lib.ru/SHAKESPEARE/ENGL/lear_en.txt
12. http://lib.ru/SHAKESPEARE/ENGL/othel_en.txt
### Вопросы
1. Что такое и для чего нужен инструмент Pig?
1. Как запустить код, написанный на языке Pig Latin?
2. Что такое "мешок", "кортеж" и "поле" в Pig?
1. Что такое и для чего нужен инструмент Hive?
2. Чем отличается Hive от Pig?
3. Какие шаги (какие команды) нужно выполнить, чтобы создать таблицу на основе данных из файла?

@ -0,0 +1,90 @@
# Лабораторная работа №4. Знакомство с NoSQL СУБД HBase
## Цель
* Познакомиться с функционалом СУБД HBase.
* Научиться добавлять и получать записи в СУБД HBase.
## Выполнение
Защита лабораторной работы подразумевает наличие отчета, который должен содержать пункты задания, команды, которые вы вводите и ответы системы на них.
При необходимости - комментарии по полученным результатам.
### Задачи
* Создать таблицу в СУБД HBase
* Внести информацию по посещению интернет-ресурсов пользователями _alice_ и _bob_
* Создать новое семейсто колонок для хранения мета-информации
* Внести хэш используемых cookie для пользователей
### Методические указания
1. В терминале запустить оболочку HBase, выполнив команду
`hbase shell`
2. Создать таблицу `visits` в которой будет хранится информация о том, какие сайты посещали пользователи.
Внутри таблицы создать первую column family для хранения информации о непосредственно посещенном ресурсе.
синтаксис команды `create` в самом простом случае:
`create 'table_name', 'column_family_name'`
3. Убедиться, что таблица создана. Для этого вывести список всех имеющихся таблиц.
4. Добавить в таблицу первую запись:
пользователь - ключ (строка) таблицы - _alice_
ресурс - _vk.com_
продолжительность посещения - _125_
время посещения (timestamp) - _1702411635951_. Подразумевается, что timestamp вносится в стандартное поле `ts`, которое существует для любой ячейки в таблице, а НЕ создается отдельный столбец.
Синтаксис операции put:
`put 'table_name', 'row', 'column_family:column', 'value', timestamp`
В общем случае, `timestamp` является необязательным. Если не указать вручную, то проставится текущее время.
5. С помощью оператора `scan` вывести строки таблицы на экран, убедиться в том, что данные сохранились в таблицу корректно.
6. Добавить новую запись:
пользователь - _bob_
ресурс - _google.com_
время посещения (timestamp) - текущее время
7. Появилась необходимость создать новую column family для хранения мета-информации.
Для этого необходимо отключить таблицу командой `disable`, внести требуемые изменения командой `alter` и включить таблицу обратно.
Синтаксис команды `alter`:
`alter 'table_name', 'new_cf_name'`
8. Вывести описание таблицы с помощью команды `describe`, описать полученный результат.
9. Для пользователя _alice_ добавить мета-информацию в столбец `cookie` '_abc123_',
Для пользователя _bob_ добавить `cookie` '_xyz987_'
10. Вывести всю информацию по пользователю `alice` на текущий момент.
11. Вывести всю информацию по пользователю `alice` на момент 1702411635955.
### Вопросы
1. Каким типом СУБД является HBase?
2. Какой командой можно создать новую таблицу в HBase?
3. Что такое 'семейство колонок' (column family)?
4. Какие команды нужно выполнить чтобы добавить новое семейство колонок в существующую таблицу?
5. Какой командой можно вывести всю информацию по заданной строке?

Двоичные данные
lectures/IIS_lec_1.pdf

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_1.pptx

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_10.pdf

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_11.pdf

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_11.pptx

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_12.pdf

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_12.pptx

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_13.pdf

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_13.pptx

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_14.pdf

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_2.pdf

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_2.pptx

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_3.pdf

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_3.pptx

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_4.pdf

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_4.pptx

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_5.pdf

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_5.pptx

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_6.pdf

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_6.pptx

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_7.pdf

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_7.pptx

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_8.pdf

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_8.pptx

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_9.pdf

Двоичный файл не отображается.

Двоичные данные
lectures/IIS_lec_9.pptx

Двоичный файл не отображается.

Двоичные данные
lectures/lec1.odp

Двоичный файл не отображается.

Двоичные данные
lectures/lec2 - Docker.odp

Двоичный файл не отображается.
Загрузка…
Отмена
Сохранить