DSCI 551 Homework #2 (HDFS) solved

Original price was: $40.00.Current price is: $35.00.



5/5 - (1 vote)

In this homework, you are asked to emulate the file system structure of HDFS using Firebase and allow the export of its structure in the XML format. The emulated HDFS (or EDFS) should support ls, create, mkdir, rmdir, rm, and export commands as detailed below. Your task is to write a Python script to support the above commands.


● python -ls

whereis a directory name in EDFS. The command should return names of all files or directories under the given director. For example, “ -ls /user” will list all files or directories under /user. For another example, “ -ls /” will list all files or directories under the EDFS root directory.● python -mkdir where is a path expression that starts with /, e.g., “-mkdir /user/dsci551” will create a directory dsci551 under /user. Note if “/user” does not exist yet, the command will create it too. The script should report if the command was executed successfully or not. Note there is no need to create a root directory. So the command “-mkdir /” should report that / already exists.● python -rmdir which will remove the directory when the path is not empty, otherwise, it will report an error.● python -rm which will remove a file, e.g., /user/dsci551/hello.txt and report errors if the file does not exist or the path points to a directory instead of a file.● python -create which will create a file in the specified path. Note the file is empty and your implementation only needs to add the file name to your emulated file system. No need to add data for the file. The command should report an error if the file already exists.● python -export output.xml which will output the EDFS structure in XML format. Note an empty XML element (e.g., , represents a file in EDFS. The format of XML is as follows: Submissions: Permitted python libraries are – base64, json, requests, sys, uuid, fileinput. Please also ensure that your file can be executed as mentioned in the questions. For example: python -lsFurther, You should assume that the directory names only contain alphanumeric characters and do not contain “.”. The filenames however, may contain “.” Please remember to hard-code your firebase url in your code. Please do not download the entire firebase data to implement commands, instead you should rely on Firebase’s functions by sending the appropriate requests. Submit your file via D2L.