diff --git a/exams/s25-exam1/exam1.pdf b/exams/s25-exam1/exam1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..581d341e9b4e9aca5e54acfbbf7aa59996cd8563 Binary files /dev/null and b/exams/s25-exam1/exam1.pdf differ diff --git a/exams/s25-exam1/exam2.pdf b/exams/s25-exam1/exam2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b2b138f3dbe6cf89539f9fe2192292b796d84553 Binary files /dev/null and b/exams/s25-exam1/exam2.pdf differ diff --git a/exams/s25-exam1/exam3.pdf b/exams/s25-exam1/exam3.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b5c05b17ff63196cabd51f662fc70116d38b4900 Binary files /dev/null and b/exams/s25-exam1/exam3.pdf differ diff --git a/exams/s25-exam1/exam4.pdf b/exams/s25-exam1/exam4.pdf new file mode 100644 index 0000000000000000000000000000000000000000..290156e2932bc3e93602ffbe9d83ea7d5da1591a Binary files /dev/null and b/exams/s25-exam1/exam4.pdf differ diff --git a/exams/s25-exam1/exam5.pdf b/exams/s25-exam1/exam5.pdf new file mode 100644 index 0000000000000000000000000000000000000000..11a2cde2d94906a6137c8b35ecfb17d2640df356 Binary files /dev/null and b/exams/s25-exam1/exam5.pdf differ diff --git a/exams/s25-exam1/exam6.pdf b/exams/s25-exam1/exam6.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d458c57db58e836e90cc238e3a911a49cdf7de1a Binary files /dev/null and b/exams/s25-exam1/exam6.pdf differ diff --git a/exams/s25-exam1/exam7.pdf b/exams/s25-exam1/exam7.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4ff5a45e7c57dacc4e4b80777e6663b931a79508 Binary files /dev/null and b/exams/s25-exam1/exam7.pdf differ diff --git a/exams/s25-exam1/exam8.pdf b/exams/s25-exam1/exam8.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d148ada996b271acde427c20b85a424402f9af7a Binary files /dev/null and b/exams/s25-exam1/exam8.pdf differ diff --git a/p4/README.md b/p4/README.md index ccf0be77b8d66ce53262c83634811a7eabcec9c6..fe00123896004135cf6ca2550a4b39418376a8ae 100644 --- a/p4/README.md +++ b/p4/README.md @@ -14,7 +14,9 @@ Before starting, please review the [general project directions](../projects.md). ## Corrections/Clarifications -* Mar 5: A hint about HDFS environment variables added; a dataflow diagram added; some minor typos fixed. +- Mar 5: A hint about HDFS environment variables added; a dataflow diagram added; some minor typos fixed. + +- Mar 5: Fix the wrong expected file size in Part 1 and sum of blocks in Part 2. ## Introduction @@ -96,9 +98,10 @@ In this part, your task is to implement the `DbToHdfs` gRPC call (you can find t 4. Upload the generated table to `/hdma-wi-2021.parquet` in the HDFS, with **2x** replication and a **1-MB** block size, using PyArrow (https://arrow.apache.org/docs/python/generated/pyarrow.fs.HadoopFileSystem.html). To check whether the upload was correct, you can use `docker exec -it` to enter the gRPC server's container and use HDFS command `hdfs dfs -du -h <path>`to see the file size. The expected result is: - ``` -15.3 M 30.5 M hdfs://nn:9000/hdma-wi-2021.parquet - ``` + +``` +14.4 M 28.9 M hdfs://nn:9000/hdma-wi-2021.parquet +``` **Hint 1:** We used similar tables in lecture: https://git.doit.wisc.edu/cdis/cs/courses/cs544/s25/main/-/tree/main/lec/15-sql @@ -117,7 +120,7 @@ In this part, your task is to implement the `BlockLocations` gRPC call (you can For example, running `docker exec -it p4-server-1 python3 /client.py BlockLocations -f /hdma-wi-2021.parquet` should show something like this: ``` -{'7eb74ce67e75': 15, 'f7747b42d254': 6, '39750756065d': 11} +{'7eb74ce67e75': 15, 'f7747b42d254': 7, '39750756065d': 8} ``` Note: DataNode location is the randomly generated container ID for the