From 6a7e32a0201dd8e00cfa6f5a64f69ef6be1c64a1 Mon Sep 17 00:00:00 2001 From: Claudio Maggioni Date: Wed, 21 Dec 2022 10:10:29 +0100 Subject: [PATCH] Homework 2 and 3 --- .gitignore | 11 + hw02/Untitled.ipynb | 558 +++++++++++ hw02/import.py | 11 +- hw02/report.pdf | Bin 0 -> 336814 bytes hw02/report.tex | 1122 +++++++++++++++++++++ hw03/.gitignore | 4 + hw03/commands.md | 30 + hw03/dblp_spark.ipynb | 893 +++++++++++++++++ hw03/report.pdf | Bin 0 -> 135214 bytes hw03/spark_import.ipynb | 2112 +++++++++++++++++++++++++++++++++++++++ 10 files changed, 4734 insertions(+), 7 deletions(-) create mode 100644 hw02/Untitled.ipynb create mode 100644 hw02/report.pdf create mode 100644 hw02/report.tex create mode 100644 hw03/.gitignore create mode 100644 hw03/commands.md create mode 100644 hw03/dblp_spark.ipynb create mode 100644 hw03/report.pdf create mode 100644 hw03/spark_import.ipynb diff --git a/.gitignore b/.gitignore index 747d42e..d81dffb 100644 --- a/.gitignore +++ b/.gitignore @@ -300,4 +300,15 @@ TSWLatexianTemp* # option is specified. Footnotes are the stored in a file with suffix Notes.bib. # Uncomment the next line to have this generated file ignored. #*Notes.bib +# gitignore template for Jupyter Notebooks +# website: http://jupyter.org/ +.ipynb_checkpoints +*/.ipynb_checkpoints/* + +# IPython +profile_default/ +ipython_config.py + +# Remove previous ipynb_checkpoints +# git rm -r .ipynb_checkpoints/ diff --git a/hw02/Untitled.ipynb b/hw02/Untitled.ipynb new file mode 100644 index 0000000..eedbb49 --- /dev/null +++ b/hw02/Untitled.ipynb @@ -0,0 +1,558 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 31, + "id": "4abbae95", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import time\n", + "from pymongo import MongoClient" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c1d3a065", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 75, + "id": "f3196535", + "metadata": {}, + "outputs": [], + "source": [ + "mongo_conn_str = \"mongodb://localhost:27017\"\n", + "mongo = MongoClient(mongo_conn_str)\n", + "db = mongo[\"ddm\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "264e24b7", + "metadata": {}, + "outputs": [], + "source": [ + "def start_the_time():\n", + " global start_time\n", + " start_time = time.time()\n", + " \n", + "def end_the_time():\n", + " print(\"--- %s seconds ---\" % (time.time() - start_time))" + ] + }, + { + "cell_type": "markdown", + "id": "9becfc2a", + "metadata": {}, + "source": [ + "### Top 10 journals for numbers of papers" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "id": "8e98cd86", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--- 0.0001361370086669922 seconds ---\n", + "['Morphometric MRI as a diagnostic biomarker of frontotemporal dementia: A systematic review to determine clinical applicability', 'Low adherence of Swiss children to national dietary guidelines', 'Decomposing broadcast algorithms using abstract MAC layers']\n" + ] + } + ], + "source": [ + "start_the_time()\n", + "result = db[\"papers\"].find({ \n", + " \"authors.email\": {\"$regex\": \"@usi\\.ch\"}\n", + "}, {\n", + " 'title': 1\n", + "})\n", + "end_the_time()\n", + "\n", + "titles = [doc['title'] for doc in result]\n", + "print(titles)" + ] + }, + { + "cell_type": "markdown", + "id": "c0e9ad5e", + "metadata": {}, + "source": [ + "### Most 3 cited authors in 'Strategic info-mediaries'" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "id": "a8781d01", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--- 0.302872896194458 seconds ---\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
_idreferenceCount
0Freshwater12
1Biodiversity9
2Marine8
3Climate change8
4Ecosystem-based management7
5Coastal6
6Eutrophication5
7Phosphorus5
8Policy5
9Agriculture4
\n", + "
" + ], + "text/plain": [ + " _id referenceCount\n", + "0 Freshwater 12\n", + "1 Biodiversity 9\n", + "2 Marine 8\n", + "3 Climate change 8\n", + "4 Ecosystem-based management 7\n", + "5 Coastal 6\n", + "6 Eutrophication 5\n", + "7 Phosphorus 5\n", + "8 Policy 5\n", + "9 Agriculture 4" + ] + }, + "execution_count": 101, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pipeline = [\n", + " {\n", + " \"$match\": {\n", + " \"publicationDetails.journal\": \"Vertical e-markets\"\n", + " }\n", + " },\n", + " { \n", + " \"$unwind\": \"$authors\" \n", + " }, \n", + " { \n", + " \"$lookup\": {\n", + " \"from\": \"authors\",\n", + " \"localField\": \"authors.authorId\",\n", + " \"foreignField\": \"_id\",\n", + " \"as\": \"authors\"\n", + " }\n", + " },\n", + " {\n", + " \"$match\": {\n", + " \"authors.bio\": {\n", + " \"$regex\": \"[Ss]uccess\"\n", + " }\n", + " }\n", + " },\n", + " { \n", + " \"$unwind\": \"$keywords\" \n", + " },\n", + " { \n", + " \"$group\": {\n", + " \"_id\": \"$keywords\", \n", + " \"referenceCount\": { \n", + " \"$sum\": 1\n", + " } \n", + " } \n", + " },\n", + " {\n", + " \"$sort\": {\n", + " \"referenceCount\": -1\n", + " }\n", + " },\n", + " {\n", + " \"$limit\": 10\n", + " }\n", + "]\n", + "\n", + "start_the_time()\n", + "result = db[\"papers\"].aggregate(pipeline)\n", + "end_the_time()\n", + "\n", + "pd.DataFrame(result)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5fc8b56f", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "39ae3826", + "metadata": {}, + "source": [ + "### Title" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "146fef1e", + "metadata": {}, + "outputs": [], + "source": [ + "pipeline = [\n", + " {\n", + " \"$match\": {\n", + " \"publicationDetails.journal\": \"Next-generation users\",\n", + " }\n", + " },\n", + " { \"$unwind\": \"$authors\" }, \n", + " { \n", + " \"$group\": {\n", + " \"_id\": \"$references.authors.name\", \n", + " \"referenceCount\": { \n", + " \"$sum\": 1\n", + " } \n", + " } \n", + " },\n", + " {\n", + " \"$sort\": {\n", + " \"referenceCount\": -1\n", + " }\n", + " },\n", + " {\n", + " \"$limit\": 3\n", + " }\n", + "]\n", + "\n", + "start_the_time()\n", + "result = db[\"papers\"].aggregate(pipeline)\n", + "end_the_time()\n", + "\n", + "pd.DataFrame(result)" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "5c02ad39", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--- 0.0010950565338134766 seconds ---\n" + ] + } + ], + "source": [ + "new_journal = { \n", + " 'issn': '89012388',\n", + " 'name': 'Advanced Topics on Databases',\n", + " 'volumes': []\n", + "}\n", + "start_the_time()\n", + "new_journal_id = db[\"journals\"].insert_one(new_journal).inserted_id\n", + "end_the_time()" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "id": "2f128b04", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--- 0.09116077423095703 seconds ---\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
_idpaper_number
0One-to-one content744
1Vertical e-markets515
2Bricks-and-clicks web-readiness483
3Plug-and-play web-readiness361
4Back-end partnerships354
5Next-generation users334
6Distributed mindshare329
7Enterprise e-services281
8Strategic info-mediaries276
9Clicks-and-mortar channels271
\n", + "
" + ], + "text/plain": [ + " _id paper_number\n", + "0 One-to-one content 744\n", + "1 Vertical e-markets 515\n", + "2 Bricks-and-clicks web-readiness 483\n", + "3 Plug-and-play web-readiness 361\n", + "4 Back-end partnerships 354\n", + "5 Next-generation users 334\n", + "6 Distributed mindshare 329\n", + "7 Enterprise e-services 281\n", + "8 Strategic info-mediaries 276\n", + "9 Clicks-and-mortar channels 271" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pipeline = [{\n", + " \"$group\": {\n", + " \"_id\":\"$publicationDetails.journal\",\n", + " \"paper_number\":{\n", + " \"$sum\":1\n", + " }\n", + " }\n", + "},{\n", + " \"$sort\":{\n", + " \"paper_number\":-1\n", + " }\n", + "},{\n", + " \"$limit\":10\n", + "}]\n", + "\n", + "start_the_time()\n", + "result = db[\"papers\"].aggregate(pipeline)\n", + "end_the_time()\n", + "\n", + "pd.DataFrame(result)" + ] + }, + { + "cell_type": "code", + "execution_count": 132, + "id": "8f12712b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--- 1.3057661056518555 seconds ---\n" + ] + }, + { + "data": { + "text/plain": [ + "'{\"_id\":{\"0\":{\"journal\":\"One-to-one content\",\"sectionTitle\":\"Introduction\"},\"1\":{\"journal\":\"One-to-one content\",\"sectionTitle\":\"Discussion\"},\"2\":{\"journal\":\"Vertical e-markets\",\"sectionTitle\":\"Introduction\"},\"3\":{\"journal\":\"One-to-one content\",\"sectionTitle\":\"Results\"},\"4\":{\"journal\":\"Bricks-and-clicks web-readiness\",\"sectionTitle\":\"Method details\"},\"5\":{\"journal\":\"Plug-and-play web-readiness\",\"sectionTitle\":\"Introduction\"},\"6\":{\"journal\":\"Back-end partnerships\",\"sectionTitle\":\"Introduction\"},\"7\":{\"journal\":\"Next-generation users\",\"sectionTitle\":\"Introduction\"},\"8\":{\"journal\":\"Plug-and-play web-readiness\",\"sectionTitle\":\"Discussion\"},\"9\":{\"journal\":\"Next-generation users\",\"sectionTitle\":\"Results\"}},\"sectionCount\":{\"0\":630,\"1\":512,\"2\":506,\"3\":503,\"4\":371,\"5\":353,\"6\":350,\"7\":332,\"8\":330,\"9\":322}}'" + ] + }, + "execution_count": 132, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pipeline = [\n", + " { \n", + " \"$unwind\": \"$content\"\n", + " }, {\n", + " \"$group\": {\n", + " \"_id\": {\n", + " \"journal\": \"$publicationDetails.journal\",\n", + " \"sectionTitle\": \"$content.title\"\n", + " }, \n", + " \"sectionCount\": {\n", + " \"$sum\": 1\n", + " }\n", + " }\n", + " }, {\n", + " \"$sort\": {\n", + " \"sectionCount\": -1\n", + " }\n", + " }, {\n", + " \"$limit\":10\n", + " }\n", + "]\n", + "\n", + "start_the_time()\n", + "result = db[\"papers\"].aggregate(pipeline)\n", + "end_the_time()\n", + "\n", + "pd.DataFrame(result).to_json()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ecfd45d9", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/hw02/import.py b/hw02/import.py index dea1a0d..f8cc52b 100644 --- a/hw02/import.py +++ b/hw02/import.py @@ -101,12 +101,9 @@ def transform_section(sec: dict, figures: [dict], references: [dict]) -> dict: content += arr - if len(content) > 0 and isinstance(content[-1], list) and len(content[-1]) == 0: del content[-1] - - return { "title": sec["title"], "content": content @@ -130,7 +127,6 @@ def json_to_paper(filename: str, jsonObj: dict) -> dict: author = fake_author(get_author_name(author), email) - # TODO: authorID authors.append({ "email": author["email"], "name": author["name"], @@ -141,7 +137,7 @@ def json_to_paper(filename: str, jsonObj: dict) -> dict: paper["keywords"] = getProp(jsonObj, "metadata.keywords") publicationDetails = {} - publicationDetails["issn"] = getProp(jsonObj, "metadata.issn") # ISBN-like, not a name + publicationDetails["issn"] = getProp(jsonObj, "metadata.issn") date = fake.date_object() volume = getProp(jsonObj, "metadata.volume") @@ -243,7 +239,8 @@ def main(): d = json.JSONDecoder() jsonObj = d.decode(jsonStr) - if getProp(jsonObj, "metadata.issn") is None or getProp(jsonObj, "metadata.doi") is None: + if getProp(jsonObj, "metadata.issn") is None or \ + getProp(jsonObj, "metadata.doi") is None: j += 1 continue # SKIP papers with no journal ISSN or paper DOI @@ -335,4 +332,4 @@ def main(): print("Journals updated with refs: ", i) if __name__ == "__main__": - main() \ No newline at end of file + main() diff --git a/hw02/report.pdf b/hw02/report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3672aa0b7ab583fd329c6b442ce96de46d3f694e GIT binary patch literal 336814 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 z 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 str: + if name not in authors: + # We use the author name, for lack of a better field in the dataset, + # as a unique identifier for authors during the import process. This + # means that two papers with an author with the same name will be + # referenced to the same author document in the MongoDB database. + # Should another dataset include the ORCID of authors, we could use + # that in this step to assure the references are correct. + authors[name] = { + "name": name, + "email": email, + "affiliation": fake_unis[random.randint(0, len(fake_unis) - 1)], + "bio": fake.paragraph(nb_sentences=5) + } + return authors[name] + +# Here we cache journals referenced in each paper for later insertion in a +# separate collection +journals = {} +def fake_journal(issn: str, volume: str, paper_doi: str) -> str: + if issn not in journals: + # For journal names, we select a random company mission slogan using the + # Faker 'bs' generator and then we extract the last two words. As we have + # the ISSN of each journal from the paper metadata, we do not need to + # constrain the number of them as the authors but we simply generate fake + # metadata for each new ISSN found. + journals[issn] = { + "issn": issn, + "name": " ".join(fake.bs().split(" ")[1:]).capitalize(), + "volumes": [{ + "name": volume, + "papers": [paper_doi] + }] + } + else: + # When the metadata for the journal with this paper's ISSN was already + # generated, we need to update references to volumes and papers in + # volumes to include this paper too. + not_found = True + for v in journals[issn]["volumes"]: + if v["name"] == volume: + not_found = False + v["papers"].append(paper_doi) + break + if not_found: + journals[issn]["volumes"].append({ + "name": volume, + "papers": [paper_doi] + }) + + return journals[issn] + +# This function, for a str of "a.b.c", will return the value of +# obj["a"]["b"]["c"] or the default value provided. +def getProp(obj: dict, props: str, default = None): + target = obj + if target is None: + return default + for prop in props.split("."): + if prop not in target: + return default + target = target[prop] + return target + +# The following two functions allow us to convert between the data structure +# for the document body provided by the dataset and the one defined in our +# document model. The dataset provides a list of sentences in the paper, by +# also providing their position as a character offset and the sections they +# are contained in (their 'parents' as per the dataset schema). Additionally +# all section 'ancestors' are provided for each sentence. E.g. if the sentence +# is placed in sub-sub-section 1.2.3, data for section 1, sub-section 1.2 and +# sub-sub-section 1.2.3 is provided. We convert this 'flat' data structure +# in the recursive one specified in the document model, allowing sections to +# directly contain sub-section documents or paragraphs of text. + +def save_sentence(body: dict, parents: [dict], sentence: str): + target = body + for p in parents: + if p["id"] not in target["sections"]: + target["sections"][p["id"]] = { + "title": p["title"], + "content": "", + "sections": {}, + } + target = target["sections"][p["id"]] + target["content"] += sentence + " " + +def transform_section(sec: dict, figures: [dict], references: [dict]) -> dict: + arr = [] + ks = [] + for k in sec["sections"].keys(): + ks.append(k) + ks.sort() + for k in ks: + arr.append(transform_section(sec["sections"][k], figures, references)) + if "title" not in sec: + return arr + + # Here we randomly add references to figures and bibliography to the paper's + # content in the format described in the document model. + content = [] + if random.randint(0, 4) == 0 and len(figures) > 0: + content += [{ + "label": figures[random.randint(0, len(figures)-1)]["label"] + }] + if "content" in sec and sec["content"] != "": + content += [sec["content"]] + if random.randint(0, 4) == 0 and len(references) > 0: + content += [{ "reference": random.randint(1, len(references)) }] + + content += arr + + if len(content) > 0 and isinstance(content[-1], list) and \ + len(content[-1]) == 0: + del content[-1] + + return { + "title": sec["title"], + "content": content + } + +def get_author_name(author: dict) -> str: + first = "" if author["first"] is None else author["first"] + last = "" if author["last"] is None else author["last"] + return (first + " " + last).strip() + +# This function is the entrypoint for the conversion of a paper object coming +# from the dataset to a paper object following our document model. +def json_to_paper(filename: str, jsonObj: dict) -> dict: + paper = {} + + paper["title"] = getProp(jsonObj, "metadata.title") + paper["abstract"] = getProp(jsonObj, "abstract") + paper["doi"] = getProp(jsonObj, "metadata.doi") + + authors = [] + for author in getProp(jsonObj, "metadata.authors", []): + email = getProp(author, "email") + + author = fake_author(get_author_name(author), email) + + authors.append({ + "email": author["email"], + "name": author["name"], + "affiliation": author["affiliation"] + }) + + paper["authors"] = authors + paper["keywords"] = getProp(jsonObj, "metadata.keywords") + + publicationDetails = {} + publicationDetails["issn"] = getProp(jsonObj, "metadata.issn") + + # We generate a year-month-day publication date and, when the + # journal volume metadata is missing, we generate a volume + # name from the generated publication year. + date = fake.date_object() + volume = getProp(jsonObj, "metadata.volume") + if volume is None: + volume = str(date.year) + " Issue" + + journal = fake_journal( + publicationDetails["issn"], + volume, + getProp(jsonObj, "metadata.doi") + ) + + publicationDetails["journal"] = journal["name"] + publicationDetails["volume"] = volume + publicationDetails["number"] = random.randint(1, 99) + publicationDetails["date"] = date.isoformat() + publicationDetails["pages"] = { + "start": getProp(jsonObj, "metadata.firstpage"), + "end": getProp(jsonObj, "metadata.lastpage") + } + paper["publicationDetails"] = publicationDetails + + # All the figure metadata is generated randomly as it is missing from + # the dataset. Captions are built using the 'paragraph' Faker generator + # and image URLs are built using the Faker 'image_url' generator. + figures = [] + for i in range(0, random.randint(3, 15)): + figures.append({ + "page": random.randint(1, 10), + "label": "fig" + str(i), + "caption": fake.paragraph(nb_sentences=1), + "imageURL": fake.image_url() + }) + paper["figures"] = figures + + i = 0 + references = [] + for key, value in getProp(jsonObj, "bib_entries", {}).items(): + if value is None: + continue + + i += 1 + ref = { + "referenceNumber": i, + "doi": getProp(value, "doi"), + "title": getProp(value, "title"), + "authors": [], + "issn": getProp(value, "issn"), + "volume": getProp(value, "volume"), + "year": getProp(value, "year") + } + + for author in getProp(value, "authors", []): + ref["authors"].append({ "name": get_author_name(author) }) + references.append(ref) + paper["references"] = references + + body = { + "sections": {} + } + + l = getProp(jsonObj, "body_text", []) + l.sort(key=lambda x: x["startOffset"]) + for e in l: + parents = [] + for p in getProp(e, "parents", []): + parents.append(p) + + parents.append({ "id": e["secId"], "title": e["title"] }) + save_sentence(body, parents, e["sentence"]) + + paper["content"] = transform_section(body, figures, references) + return paper + +# Here the connection string to MongoDB is defined. We all use local +# MongoDB instances with anonymous access for the scopes of this +# assignment. +mongo_conn_str = "mongodb://localhost:27017" + +# To invoke the script two command line parameters are defined: +# - (required) path to the folder where JSON files of articles from +# %*\hspace{2.2cm}*) the dataset are stored; +# - (optional) a limit on the number of papers to import. -1 imports +# %*\hspace{2.2cm}*) all the dataset and is the default. +def main(): + source_folder: str = sys.argv[1] + if len(sys.argv) > 2: + limit: int = int(sys.argv[2]) + else: + limit: int = -1 + + mongo = MongoClient(mongo_conn_str) + db = mongo["ddm"] + + db["papers"].drop() + db["authors"].drop() + db["journals"].drop() + + # During the import process we cache each object's MongoDB '_id' field + # to later be able to perform updates inserting document references. + # For the first insertion, when '_id's are still unavailable, one + # field of each document that is guaranteed to be unique is used. + # This fields are: + # + # - DOI for papers; + # - ISSN for journals; + # - name for authors (for a lack of a better field in the dataset). + # + # The following variables are dictionaries mapping the values of these + # fields to the MongoDB '_id' values used to insert their respective + # document, and are later used to insert a proper reference. + paper_ids: dict[str, ID] = {} + author_ids: dict[str, ID] = {} + journal_ids: dict[str, ID] = {} + + i = 0 + j = 0 + for filename in os.listdir(source_folder): + if filename.endswith(".json"): + jsonObj = {} + with open(source_folder + "/" + filename, 'r') as jsonFile: + jsonStr = "".join(jsonFile.readlines()) + d = json.JSONDecoder() + jsonObj = d.decode(jsonStr) + + if getProp(jsonObj, "metadata.issn") is None or \ + getProp(jsonObj, "metadata.doi") is None: + # We defensively skip papers with no journal ISSN or + # paper DOI. We later determined that no papers in the + # dataset match this conditions by analyzing the + # import script output. + j += 1 + continue + + paper = json_to_paper(filename, jsonObj) + + x = db["papers"].insert_one(paper) + paper_ids[paper["doi"]] = x.inserted_id + + i += 1 + if i % 100 == 0: + print("Papers processed: ", i) + if j % 100 == 0 and j > 0: + print("Papers skipped: ", j) + if limit > 0 and i == limit: + break + + print("Papers skipped: ", j) + + # As authors and journals are collections of documents derived from + # paper metadata, we accumulate values when parsing each paper in + # global variables defined in the first lines of the script. Here we + # save the gathered data in MongoDB. + + i = 0 + for name, author in authors.items(): + x = db["authors"].insert_one(author) + author_ids[name] = x.inserted_id + i += 1 + if i % 1000 == 0: + print("Authors processed: ", i) + + i = 0 + for issn, journal in journals.items(): + x = db["journals"].insert_one(journal) + journal_ids[issn] = x.inserted_id + i += 1 + if i % 100 == 0: + print("Journals processed: ", i) + + # The following lines perform a single update operation for each paper, author + # and journal document by replacing the interim 'reference fields' with proper + # '_id' references that were cached during insertion. + + i = 0 + for paper in db["papers"].find(): + mongo_filter = { "_id": paper["_id"] } + update = {} + mongo_update = { "%*\$*)set": update } + + issn = getProp(paper, "publicationDetails.issn", "") + if issn in journal_ids: + update["publicationDetails.journalRef"] = journal_ids[issn] + + references = getProp(paper, "references", []) + for ref in references: + if ref["doi"] in paper_ids: + ref["paperId"] = paper_ids[ref["doi"]] + + for author in ref["authors"]: + name = author["name"] + if name in author_ids: + author["authorId"] = author_ids[name] + + if ref["issn"] in journal_ids: + ref["journalId"] = journal_ids[issn] + update["references"] = references + + authors_loc = getProp(paper, "authors", []) + for author in authors_loc: + name = author["name"] + if name in author_ids: + author["authorId"] = author_ids[name] + update["authors"] = authors_loc + + db["papers"].update_one(mongo_filter, mongo_update) + + i += 1 + if i % 100 == 0: + print("Papers updated with refs: ", i) + + i = 0 + for journal in db["journals"].find(): + mongo_filter = { "_id": journal["_id"] } + update = {} + mongo_update = { "%*\$*)set": update } + + volumes = getProp(journal, "volumes", []) + for volume in volumes: + v_papers = [] + for p in volume["papers"]: + v_papers.append(paper_ids[p]) + volume["papers"] = v_papers + update["volumes"] = volumes + + db["journals"].update_one(mongo_filter, mongo_update) + i += 1 + if i % 100 == 0: + print("Journals updated with refs: ", i) + +if __name__ == "__main__": + main() +\end{minted} +\caption{The Python import script.} +\end{longlisting} + +\subsection{Data Imported} + +As the script described in the previous section is capable of importing the entire Elsevier's journal repository dataset we decide to import it entirely. The resulting MongoDB database has approximately 40.000 documents in the \texttt{papers} collection, 206.000 documents in the \texttt{authors} collection and 1.800 documents in the \texttt{journals} collection. + +\section{Queries} + +In this section we define some queries over the database using Python and the PyMongo library. To run these queries on a local database with no credentials, the following preamble is necessary: + +\begin{longlisting} +\begin{minted}{python} +import time +from pymongo import MongoClient + +mongo_conn_str = "mongodb://localhost:27017" +mongo = MongoClient(mongo_conn_str) +db = mongo["ddm"] +\end{minted} +\end{longlisting} + +To check for performance, we measure the time each PyMongo operation takes to execute by defining the following two Python functions implementing a stopwatch of sorts: + +\begin{longlisting} +\begin{minted}{python} +def start_the_time(): + global start_time + start_time = time.time() + +def end_the_time(): + print("--- %s seconds ---" % (time.time() - start_time)) +\end{minted} +\end{longlisting} + +\subsection{Add new author to Authors collection} + +This query inserts a new document to the authors collection that includes: name, email, affiliation and bio of the author. + +\begin{longlisting} +\begin{minted}{python} +new_author = { + "name": "Perico de los Palotes", + "email": "perico.palotes@usi.ch", + "affiliation": "Università della Svizzera Italiana", + "bio": "Perico de los Palotes is a renowed scholar in the field of relational" + + "databases." +} +start_the_time() +new_author_id = db["authors"].insert_one(new_author).inserted_id +end_the_time() +\end{minted} +\end{longlisting} + +The query takes 2.9 ms to execute. + +\subsection{Add new Journal to the Journals Collection} + +This query inserts a new document in the \textit{journals} collection by including: ISSN, name and an empty list of volumes. + +\begin{longlisting} +\begin{minted}{python} +new_journal = { + 'issn': '89012388', + 'name': 'Advanced Topics on Databases', + 'volumes': [] +} +start_the_time() +new_journal_id = db["journals"].insert_one(new_journal).inserted_id +end_the_time() +\end{minted} +\end{longlisting} + +The query takes 1.1 ms to execute. + +\subsection{Add an Author to a Document} + +This query modifies the paper with DOI \textit{10.1016/j.nicl.2018.08.028} by adding ``John Doe'' as +an author. + +\begin{longlisting} +\begin{minted}{python} +query = { + "doi": "10.1016/j.nicl.2018.08.028", +} + +update = { + "$push": { + "authors": { + "name": "John Doe", + "email": "john.doe@usi.ch", + "affiliation": "Università della Svizzera Italiana", + } + } +} + +start_the_time() +db["papers"].update_one(query, update) +end_the_time() +\end{minted} +\end{longlisting} + +The query takes 2.6 ms to execute. + +\subsection{Add a Flag to Authors Informing They Have USI Credentials} + +This query adds an additional field for documents in the authors collection affiliated with ``Università della Svizzera Italiana'' informing that this users have USI login credentials. + +\begin{longlisting} +\begin{minted}{python} +query = { + "affiliation": "Università della Svizzera Italiana" +} + +update = { + "$set": { + "hasUSILogin": True + } +} + +start_the_time() +db["authors"].update_many(query, update) +end_the_time() +\end{minted} +\end{longlisting} + +The query takes 104.5 ms to execute. + +\subsection{Add a Keyword Based on Paper Abstract} + +This query adds the tag ``AI'' to the list of keywords of papers that contain the string ``Machine Learning'' in their abstract. + +\begin{longlisting} +\begin{minted}{python} +query = { + "abstract": { "$regex": "Machine Learning" } +} + +update = { + "$push": { + "keywords": "AI" + } +} + +start_the_time() +db["papers"].update_many(query, update) +end_the_time() +\end{minted} +\end{longlisting} + +The query takes 126.5 ms to execute. + +\subsection{Search Papers Affiliated With Author Having USI Email} +This query returns a list of paper titles of papers that have at least one author having an +email address ending in ``@usi.ch''. Additionally, we use query projection to only return the ``title'' field of each document so as to increase performance. + +\begin{longlisting} +\begin{minted}{python} +start_the_time() +result = db["papers"].find({ + "authors.email": {"$regex": "@usi\.ch"} +}, { + 'title': 1 +}) +end_the_time() + +titles = [doc['title'] for doc in result] +print(titles) +\end{minted} +\end{longlisting} + +The query takes 0.1 ms to execute. + +\subsection{Titles of the most recent papers} + +This query retrieves the names of the papers published on the most recent publication date found in the database. + +\begin{longlisting} +\begin{minted}{python} +pipeline = [{ + "$group":{ + "_id": "$publicationDetails.date" + } +},{ + "$sort": { + "_id": -1 + } +},{ + "$limit": 1 +}] + +start_the_time() +result = db[PAPERS].aggregate(pipeline) +most_recent_date = list(result)[0]['_id'] + +query = { + "publicationDetails.date": most_recent_date +} + +result = db[PAPERS].find(query) +for row in result: + print(row['title']) + +end_the_time() +\end{minted} +\end{longlisting} + +This query takes 2082.6 ms to execute. + +\subsection{Number of papers about ''Image Processing''} +This query counts number of papers about Image Processing published with at least one author from UK(email ending to ``.uk''). + +\begin{longlisting} +\begin{minted}{python} +pipline = { + "$and": [ + { "authors.email": { "$regex": "\.uk$" } }, + { "title": {"$regex": "image processing"} } + ] +} + +s_t = time.time() +db["papers"].count_documents(pipline) +e_t = time.time() + +print('Execution time:', (e_t-s_t) * 1000, 'Milliseconds') +\end{minted} +\end{longlisting} + +The query takes 243 ms to execute. + +\subsection{Top 10 Universities by affiliations} + +This query gets the list of top 10 Universities which have highest number of affiliation by the authors. + +\begin{longlisting} +\begin{minted}{python} +pipeline = [{ + "$group":{ + "_id": "$affiliation", + "total_faculty": { + "$sum": 1 + } + }, +}, { + "$sort": { "total_faculty": -1 } +}, { + "$limit": 10 +}] + +s_t = time.time() +result = db["authors"].aggregate(pipeline) +e_t = time.time() +print('Execution time:', (e_t-s_t) * 1000, 'Milliseconds') +\end{minted} +\end{longlisting} + +The query takes 97 ms to execute. + +\subsection{Top 10 Journals by Number of Papers} + +This query returns the titles of the top 10 journals by number of papers published in them. Each journal is returned with a total paper count, returned in the \texttt{paper\_number} field. + +\begin{longlisting} +\begin{minted}{python} +pipeline = [{ + "$group": { + "_id":"$publicationDetails.journal", + "paper_number":{ + "$sum":1 + } + } +},{ + "$sort":{ + "paper_number":-1 + } +},{ + "$limit":10 +}] + +start_the_time() +result = db["papers"].aggregate(pipeline) +end_the_time() +\end{minted} +\end{longlisting} + +The query takes 95.7 ms to complete. + +\subsection{Top 3 Cited Authors in 'Strategic info-mediaries'} + +This query returns the names of the top 3 authors by number of citations in the journal ``Strategic info-mediaries''. The number of references of each author is returned in the \texttt{referenceCount} field. + +\begin{longlisting} +\begin{minted}{python} +pipeline = [ + { + "$match": { + "publicationDetails.journal": "Strategic info-mediaries", + } + }, + { "$unwind": "$references" }, + { "$unwind": "$references.authors" }, + { + "$group": { + "_id": "$references.authors.name", + "referenceCount": { + "$sum": 1 + } + } + }, + { + "$sort": { + "referenceCount": -1 + } + }, + { + "$limit": 3 + } +] + +start_the_time() +result = db["papers"].aggregate(pipeline) +end_the_time() +\end{minted} +\end{longlisting} + +The query takes 115.7 ms to complete. + +\subsection{Successful Topics in 'Vertical e-markets'} + +This query first finds authors that published a paper in ``Vertical e-markets'' having the word ``successful'' (optionally capitalized) in their bio. Then, it computes the sum of occurrences per paper per author of each keyword in papers this authors authored, returning the top 10 counts. + +\begin{longlisting} +\begin{minted}{python} +pipeline = [ + { + "$match": { + "publicationDetails.journal": "Vertical e-markets" + } + }, + { + "$unwind": "$authors" + }, + { + "$lookup": { + "from": "authors", + "localField": "authors.authorId", + "foreignField": "_id", + "as": "authors" + } + }, + { + "$match": { + "authors.bio": { + "$regex": "[Ss]uccess" + } + } + }, + { + "$unwind": "$keywords" + }, + { + "$group": { + "_id": "$keywords", + "referenceCount": { + "$sum": 1 + } + } + }, + { + "$sort": { + "referenceCount": -1 + } + }, + { + "$limit": 10 + } +] + +start_the_time() +result = db["papers"].aggregate(pipeline) +end_the_time() +\end{minted} +\end{longlisting} + +The query takes 302.9 ms to execute. + +\subsection{Paper Titles in Journal ``Enterprise eyeballs''} + +This query returns the paper titles for all papers in all volumes in the journal ``Enterprise eyeballs''. The query starts from the document in the \textit{journals} collection and \textit{unwind}s and \textit{lookup}s to join the matching \textit{papers} documents. Additionally, +query projection is used to only return the paper title so as to improve performance. + +\begin{longlisting} +\begin{minted}{python} +pipeline = [ + { + "$match": { + "name": "Enterprise eyeballs" + } + }, + { + "$unwind": "$volumes" + }, + { + "$unwind": "$volumes.papers" + }, + { + "$lookup": { + "from": "papers", + "localField": "volumes.papers", + "foreignField": "_id", + "as": "paper" + } + }, + { + "$project": { + "paper.title": 1, + "_id": 0 + } + }, + { + "$limit": 10 + } +] + +start_the_time() +result = db["journals"].aggregate(pipeline) +end_the_time() +\end{minted} +\end{longlisting} + +The query takes 4.3 ms to execute. + +\subsection{Most popular Journal - Top Level Section Title Combination} + +This query returns the top 10 most frequent combinations of journal names and section titles across +papers. + +\begin{longlisting} +\begin{minted}{python} +pipeline = [ + { + "$unwind": "$content" + }, { + "$group": { + "_id": { + "journal": "$publicationDetails.journal", + "sectionTitle": "$content.title" + }, + "sectionCount": { + "$sum": 1 + } + } + }, { + "$sort": { + "sectionCount": -1 + } + }, { + "$limit":10 + } +] + +start_the_time() +result = db["papers"].aggregate(pipeline) +end_the_time() +\end{minted} +\end{longlisting} + +This query takes 1305.8 ms to execute. + +\subsection{Get the Top Writers of Papers} + +This query returns a list of authors and the number of their published papers which shows the top authors. + +\begin{longlisting} +\begin{minted}{python} +pipeline = [ + { + "$lookup": { + "from": "papers", + "localField": "_id", + "foreignField": "authors.authorId", + "as": "papers" + }, + }, + { + "$project": { + "name": 1, + "numberOfPapers": { + "$cond": { + "if": { "$isArray": "$papers" }, + "then": { "$size": "$papers" }, + "else": 0 + } + }, + } + }, + { "$limit": 100 }, + { "$sort": {"numberOfPapers": -1} } +] + +s_t = time.time() +result = db["authors"].aggregate(pipeline) +e_t = time.time() +print('Execution time:', (e_t-s_t) * 1000, 'Milliseconds') +\end{minted} +\end{longlisting} + +This query takes 8.2s to execute. + + +\subsection{ Authors with list of their papers } + +This query returns returns a list of authors and their papers. The query gets the list of authors and then adds the list of papers of each author. + +\begin{longlisting} +\begin{minted}{python} +pipeline = [{ + "$match": { + "email": {"$exists": True} + } +},{ + "$lookup":{ + "from":"papers", + "localField":"_id", + "foreignField":"authors.authorId", + "as":"papers" + } +}, {"$limit": 10}] + + +s_t = time.time() + +result = db[AUTHORS].aggregate(pipeline) +pd.DataFrame(result) + + +e_t = time.time() +print('Execution time:', (e_t-s_t) * 1000, 'Millisecond' ) + +\end{minted} +\end{longlisting} + +This query takes 2.2s to execute. + + + + +\end{document} + diff --git a/hw03/.gitignore b/hw03/.gitignore new file mode 100644 index 0000000..29214cf --- /dev/null +++ b/hw03/.gitignore @@ -0,0 +1,4 @@ +csv-import/ +.ipynb_checkpoints/ +*.parquet/ +*.tar.gz diff --git a/hw03/commands.md b/hw03/commands.md new file mode 100644 index 0000000..cce8114 --- /dev/null +++ b/hw03/commands.md @@ -0,0 +1,30 @@ +# How to generate dblp csvs + +```shell +curl -o dblp.xml.gz https://dblp.org/xml/dblp.xml.gz +gunzip dblp.xml.gz + +# download the DTD specification of the DBLP XML format +curl -o dblp.dtd https://dblp.org/xml/dblp.dtd + +git clone https://github.com/ThomHurks/dblp-to-csv + +dblp-to-csv/XMLToCSV.py --annotate dblp.xml dblp.dtd dblp_csv.csv \ + --relations journal:article_journal author:article_author + +for t in article; do + tr ';' '\n' csv-import/${t}.csv; +done + +cp dblp_csv_{author|journal}_* dblp_csv_{author|journal}.csv csv-import +``` + +# Archive + +The csv-import files are compressed. To decompress them run: + +```shell +tar -xzvf csv-import.tar.gz +``` diff --git a/hw03/dblp_spark.ipynb b/hw03/dblp_spark.ipynb new file mode 100644 index 0000000..b0b2c89 --- /dev/null +++ b/hw03/dblp_spark.ipynb @@ -0,0 +1,893 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "e159835e", + "metadata": {}, + "source": [ + "## Basic setup" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "72909aec-742a-452b-a118-6c500790b96a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "22/12/08 15:56:43 WARN Utils: Your hostname, martilo-Aspire-A315-42 resolves to a loopback address: 127.0.1.1; using 10.21.72.130 instead (on interface wlp4s0)\n", + "22/12/08 15:56:43 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Setting default log level to \"WARN\".\n", + "To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "22/12/08 15:56:44 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable\n" + ] + } + ], + "source": [ + "# Import the basic spark library\n", + "from pyspark.sql import SparkSession\n", + "\n", + "# Create an entry point to the PySpark Application\n", + "spark = SparkSession.builder \\\n", + " .master(\"local\") \\\n", + " .appName(\"MyFirstSparkApplication\") \\\n", + " .getOrCreate()\n", + "# master contains the URL of your remote spark instance or 'local'" + ] + }, + { + "cell_type": "markdown", + "id": "2c1c8f93", + "metadata": {}, + "source": [ + "## Schema definition and data import" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "44a02813", + "metadata": {}, + "outputs": [], + "source": [ + "# Schema definitions\n", + "from pyspark.sql.types import StructType, StructField, StringType, FloatType, ArrayType, IntegerType, DateType\n", + "\n", + "article_schema = StructType([ \\\n", + " StructField(\"ID\", IntegerType(), False), \\\n", + " StructField(\"Title\", StringType(), False), \\\n", + " StructField(\"Content\", StringType(), True), \\\n", + " StructField(\"MetadataDate\", DateType(), True), \\\n", + " StructField(\"JournalId\", IntegerType(), True), \\\n", + " StructField(\"Volume\", StringType(), True), \\\n", + " StructField(\"NumberInVolume\", StringType(), True), \\\n", + " StructField(\"PagesInVolume\", StringType(), True), \\\n", + " StructField(\"ObjectIds\", ArrayType(StringType()), True)\n", + "])\n", + "\n", + "article_author_schema = StructType([ \\\n", + " StructField(\"ArticleId\", IntegerType(), False), \\\n", + " StructField(\"AuthorId\", IntegerType(), False)\n", + "])\n", + "\n", + "\n", + "author_schema = StructType([ \\\n", + " StructField(\"ID\", IntegerType(), False), \\\n", + " StructField(\"Name\", StringType(), False), \\\n", + " StructField(\"Email\", StringType(), True), \\\n", + " StructField(\"Affiliation\", DateType(), True), \\\n", + " StructField(\"Bio\", IntegerType(), True)\n", + "])\n", + "\n", + "reference_schema = StructType([ \\\n", + " StructField(\"ID\", IntegerType(), False), \\\n", + " StructField(\"ArticleId\", IntegerType(), False), \\\n", + " StructField(\"RefNumber\", IntegerType(), True), \\\n", + " StructField(\"InternalPaperId\", IntegerType(), True), \\\n", + " StructField(\"Title\", StringType(), True), \\\n", + " StructField(\"Authors\", ArrayType(StringType()), True), \\\n", + " StructField(\"Journal\", StringType(), True), \\\n", + " StructField(\"JournalId\", IntegerType(), True), \\\n", + " StructField(\"Volume\", StringType(), True), \\\n", + " StructField(\"NumberInVolume\", StringType(), True)\n", + "])\n", + "\n", + "journal_schema = StructType([ \\\n", + " StructField(\"ID\", IntegerType(), False), \\\n", + " StructField(\"Name\", StringType(), False)\n", + "])" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "1b8bf1b1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- ID: integer (nullable = false)\n", + " |-- Title: string (nullable = false)\n", + " |-- Content: string (nullable = true)\n", + " |-- MetadataDate: date (nullable = true)\n", + " |-- JournalId: integer (nullable = true)\n", + " |-- Volume: string (nullable = true)\n", + " |-- NumberInVolume: string (nullable = true)\n", + " |-- PagesInVolume: string (nullable = true)\n", + " |-- ObjectIds: array (nullable = true)\n", + " | |-- element: string (containsNull = true)\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Stage 0:> (0 + 1) / 1]\r" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+---+---------+-------+------------+---------+------+--------------+-------------+---------+\n", + "| ID| Title|Content|MetadataDate|JournalId|Volume|NumberInVolume|PagesInVolume|ObjectIds|\n", + "+---+---------+-------+------------+---------+------+--------------+-------------+---------+\n", + "| 1|MyArticle| null| null| 1| null| null| null| null|\n", + "+---+---------+-------+------------+---------+------+--------------+-------------+---------+\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " \r" + ] + } + ], + "source": [ + "mock_article_data = [(1, \"MyArticle\", None, None, 1, None, None, None, None)]\n", + "article_df = spark.createDataFrame(data = mock_article_data, schema = article_schema)\n", + "article_df.printSchema()\n", + "article_df.show(truncate=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "f1c04253", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- ArticleId: integer (nullable = false)\n", + " |-- AuthorId: integer (nullable = false)\n", + "\n", + "+---------+--------+\n", + "|ArticleId|AuthorId|\n", + "+---------+--------+\n", + "| 1| 1|\n", + "+---------+--------+\n", + "\n" + ] + } + ], + "source": [ + "mock_article_author_data = [(1,1)]\n", + "article_author_df = spark.createDataFrame(data = mock_article_author_data, schema = article_author_schema)\n", + "article_author_df.printSchema()\n", + "article_author_df.show(truncate=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "946c48c8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- ID: integer (nullable = false)\n", + " |-- Name: string (nullable = false)\n", + " |-- Email: string (nullable = true)\n", + " |-- Affiliation: date (nullable = true)\n", + " |-- Bio: integer (nullable = true)\n", + "\n", + "+---+--------+-----+-----------+----+\n", + "| ID| Name|Email|Affiliation| Bio|\n", + "+---+--------+-----+-----------+----+\n", + "| 1|MyAuthor| null| null|null|\n", + "+---+--------+-----+-----------+----+\n", + "\n" + ] + } + ], + "source": [ + "mock_author_data = [(1, \"MyAuthor\", None, None, None)]\n", + "author_df = spark.createDataFrame(data = mock_author_data, schema = author_schema)\n", + "author_df.printSchema()\n", + "author_df.show(truncate=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "3409cb93", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- ID: integer (nullable = false)\n", + " |-- ArticleId: integer (nullable = false)\n", + " |-- RefNumber: integer (nullable = true)\n", + " |-- InternalPaperId: integer (nullable = true)\n", + " |-- Title: string (nullable = true)\n", + " |-- Authors: array (nullable = true)\n", + " | |-- element: string (containsNull = true)\n", + " |-- Journal: string (nullable = true)\n", + " |-- JournalId: integer (nullable = true)\n", + " |-- Volume: string (nullable = true)\n", + " |-- NumberInVolume: string (nullable = true)\n", + "\n", + "+---+---------+---------+---------------+--------+-------+-------+---------+------+--------------+\n", + "| ID|ArticleId|RefNumber|InternalPaperId| Title|Authors|Journal|JournalId|Volume|NumberInVolume|\n", + "+---+---------+---------+---------------+--------+-------+-------+---------+------+--------------+\n", + "| 1| 1| 1| null|RefTitle| null| null| null| null| null|\n", + "+---+---------+---------+---------------+--------+-------+-------+---------+------+--------------+\n", + "\n" + ] + } + ], + "source": [ + "mock_reference_data = [(1,1,1,None, \"RefTitle\", None, None, None, None, None)]\n", + "reference_df = spark.createDataFrame(data = mock_reference_data, schema = reference_schema)\n", + "reference_df.printSchema()\n", + "reference_df.show(truncate=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "cff65f33", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- ID: integer (nullable = false)\n", + " |-- Name: string (nullable = false)\n", + "\n", + "+---+---------+\n", + "| ID| Name|\n", + "+---+---------+\n", + "| 1|MyJournal|\n", + "+---+---------+\n", + "\n" + ] + } + ], + "source": [ + "mock_journal_data = [(1,\"MyJournal\")]\n", + "journal_df = spark.createDataFrame(data = mock_journal_data, schema = journal_schema)\n", + "journal_df.printSchema()\n", + "journal_df.show(truncate=True)" + ] + }, + { + "cell_type": "markdown", + "id": "b0df92a6", + "metadata": {}, + "source": [ + "## Queries" + ] + }, + { + "cell_type": "markdown", + "id": "3e42653f", + "metadata": {}, + "source": [ + "### 5 data creation/update queries" + ] + }, + { + "cell_type": "markdown", + "id": "1fd2fb0d", + "metadata": {}, + "source": [ + "#### Insert a new article" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "f7bacc0d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+---+--------------+-------+------------+---------+------+--------------+-------------+---------+\n", + "| ID| Title|Content|MetadataDate|JournalId|Volume|NumberInVolume|PagesInVolume|ObjectIds|\n", + "+---+--------------+-------+------------+---------+------+--------------+-------------+---------+\n", + "| 1| MyArticle| null| null| 1| null| null| null| null|\n", + "| 2|MyOtherArticle| null| null| 1| null| null| null| null|\n", + "+---+--------------+-------+------------+---------+------+--------------+-------------+---------+\n", + "\n" + ] + } + ], + "source": [ + "new_article_id = 2\n", + "new_article = spark.createDataFrame(data = [(new_article_id, \"MyOtherArticle\", None, None, 1, None, None, None, None)], schema=article_schema)\n", + "# check if the primary key is already present\n", + "temp_article = article_df.filter(article_df.ID == new_article_id)\n", + "if temp_article.isEmpty():\n", + " article_df = article_df.union(new_article)\n", + "\n", + "article_df.show(truncate=True)" + ] + }, + { + "cell_type": "markdown", + "id": "28c4d2c8", + "metadata": {}, + "source": [ + "#### Update the affiliation of an author" + ] + }, + { + "cell_type": "markdown", + "id": "108d3fa8", + "metadata": {}, + "source": [ + "### 10 queries with specified complexity" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e69f492", + "metadata": {}, + "outputs": [], + "source": [ + "# join idea: remove duplicates" + ] + }, + { + "cell_type": "markdown", + "id": "466e112e", + "metadata": {}, + "source": [ + "# DO NOT EXECUTE FROM HERE ON!!!" + ] + }, + { + "cell_type": "markdown", + "id": "906fc50f-a3e1-4e13-b4e3-60a12abaabfc", + "metadata": {}, + "source": [ + "

Data Upload

" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "0f617ed1-5bce-4e2f-9e7b-5a89161792d9", + "metadata": {}, + "outputs": [], + "source": [ + "# Upload data from a list \n", + "data = [(\"Margherita\", 5.95, [\"Tomato Sauce\", \"Mozzarella Cheese\", \"Basil\"]),\n", + " (\"Calzone\", 7.95, [\"Tomato Sauce\", \"Mozzarella Cheese\", \"Prosciutto Cotto\"])]\n", + "\n", + "# Create an RDD\n", + "rdd = spark.sparkContext.parallelize(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "a4df7f8d-b127-4671-9f20-d8d6e2d2dcfd", + "metadata": {}, + "outputs": [], + "source": [ + "# Upload list from a file\n", + "rdd_2 = spark.sparkContext.textFile(\"menu.txt\")" + ] + }, + { + "cell_type": "markdown", + "id": "97f80f26-6a96-4da0-b1a8-787156ef7306", + "metadata": {}, + "source": [ + "

Dataframe Creation

" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "01ebb85c-13d4-4ab7-8f3f-f5e5534c6763", + "metadata": {}, + "outputs": [], + "source": [ + "# Create a Dataframe\n", + "df_data = [(\"Margherita\", 5.95, [\"Tomato Sauce\", \"Mozzarella Cheese\", \"Basil\"]),\n", + " (\"Calzone\", 7.95, [\"Tomato Sauce\", \"Mozzarella Cheese\", \"Prosciutto Cotto\"]),\n", + " (\"Diavola\", 5.95, [\"Tomato Sauce\", \"Mozzarella Cheese\", \"Spicy Salame\"]),\n", + " (\"Prosciutto\", 7.95, [\"Tomato Sauce\", \"Mozzarella Cheese\", \"Prosciutto Cotto\"]),\n", + " (\"Speck & Brie\", 7.95, [\"Tomato Sauce\", \"Mozzarella Cheese\", \"Speck\", \"Brie\"]),\n", + " (\"Tonno & Cipolle\", 7.95, [\"Tomato Sauce\", \"Mozzarella Cheese\", \"Tuna\", \"Onions\"]),\n", + " (\"Fries\", 3.95, [\"Potatoes\"])]\n", + " \n", + "columns = [\"Pizza Name\", \"Price\", \"Ingredients\"]\n", + "df = spark.createDataFrame(data = df_data, schema = columns)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "72e85e8b-cfa2-45a0-b88f-7cf3af1fa54e", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Stage 0:> (0 + 1) / 1]\r" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+---------------+-----+--------------------+\n", + "| Pizza Name|Price| Ingredients|\n", + "+---------------+-----+--------------------+\n", + "| Margherita| 5.95|[Tomato Sauce, Mo...|\n", + "| Calzone| 7.95|[Tomato Sauce, Mo...|\n", + "| Diavola| 5.95|[Tomato Sauce, Mo...|\n", + "| Prosciutto| 7.95|[Tomato Sauce, Mo...|\n", + "| Speck & Brie| 7.95|[Tomato Sauce, Mo...|\n", + "|Tonno & Cipolle| 7.95|[Tomato Sauce, Mo...|\n", + "| Fries| 3.95| [Potatoes]|\n", + "+---------------+-----+--------------------+\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " \r" + ] + } + ], + "source": [ + "# Show the first 20 elements of a dataframe\n", + "df.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "c3db8f5c-fd71-4a78-9b94-09c2a2d3617f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- Pizza Name: string (nullable = true)\n", + " |-- Price: string (nullable = true)\n", + " |-- Ingredients: string (nullable = true)\n", + "\n", + "+---------------+------+--------------------+\n", + "| Pizza Name| Price| Ingredients|\n", + "+---------------+------+--------------------+\n", + "| Margherita| 5.95| [\"Tomato Sauce\",...|\n", + "| Calzone| 7.95| [\"Tomato Sauce\",...|\n", + "| Diavola| 5.95| [\"Tomato Sauce\",...|\n", + "| Prosciutto| 7.95| [\"Tomato Sauce\",...|\n", + "| Speck & Brie| 7.95| [\"Tomato Sauce\",...|\n", + "|Tonno & Cipolle| 7.95| [\"Tomato Sauce\",...|\n", + "+---------------+------+--------------------+\n", + "\n" + ] + } + ], + "source": [ + "# Load a DataFrame from a file: all types are strings\n", + "df = spark.read.option(\"header\", True).option(\"delimiter\", \";\").csv(\"menu_csv.txt\")\n", + "\n", + "# Print detected \n", + "df.printSchema()\n", + "\n", + "df.show()" + ] + }, + { + "cell_type": "markdown", + "id": "40df7837-91d6-4220-a23c-cfc04a71d790", + "metadata": {}, + "source": [ + "

Dataframes from RDDs

" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "b361785f-81cd-4039-91a0-1471891e816d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- _1: string (nullable = true)\n", + " |-- _2: double (nullable = true)\n", + " |-- _3: array (nullable = true)\n", + " | |-- element: string (containsNull = true)\n", + "\n" + ] + } + ], + "source": [ + "# Transform the RDD into a Dataframe\n", + "df_from_rdd = rdd.toDF()\n", + "\n", + "# Print the schema of the Dataframe\n", + "df_from_rdd.printSchema()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "0755516e-a93f-40d7-8167-13c622ce6e83", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- Pizza Name: string (nullable = true)\n", + " |-- Price: double (nullable = true)\n", + " |-- Ingredients: array (nullable = true)\n", + " | |-- element: string (containsNull = true)\n", + "\n" + ] + } + ], + "source": [ + "#Transform the RDD into a Dataframe, specifying the columns\n", + "columns = [\"Pizza Name\", \"Price\", \"Ingredients\"]\n", + "df_from_rdd = rdd.toDF(columns)\n", + "df_from_rdd.printSchema()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "0faf942b-8160-4d82-8f4b-70321b01fe62", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- Pizza Name: string (nullable = true)\n", + " |-- Price: double (nullable = true)\n", + " |-- Ingredients: array (nullable = true)\n", + " | |-- element: string (containsNull = true)\n", + "\n" + ] + } + ], + "source": [ + "df_2_from_rdd = spark.createDataFrame(rdd).toDF(*columns)\n", + "df_from_rdd.printSchema()" + ] + }, + { + "cell_type": "markdown", + "id": "418c4704-59d3-4f0f-9582-e2d9134ff1bf", + "metadata": {}, + "source": [ + "

Custom Dataframe

" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "0ebfda87-f209-4aa2-b989-6cfd5aed57d0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- Pizza Name: string (nullable = true)\n", + " |-- Price: float (nullable = true)\n", + " |-- Ingredients: array (nullable = true)\n", + " | |-- element: string (containsNull = true)\n", + "\n", + "+---------------+-----+---------------------------------------------------+\n", + "|Pizza Name |Price|Ingredients |\n", + "+---------------+-----+---------------------------------------------------+\n", + "|Margherita |5.95 |[Tomato Sauce, Mozzarella Cheese, Basil] |\n", + "|Calzone |7.95 |[Tomato Sauce, Mozzarella Cheese, Prosciutto Cotto]|\n", + "|Diavola |5.95 |[Tomato Sauce, Mozzarella Cheese, Spicy Salame] |\n", + "|Prosciutto |7.95 |[Tomato Sauce, Mozzarella Cheese, Prosciutto Cotto]|\n", + "|Speck & Brie |7.95 |[Tomato Sauce, Mozzarella Cheese, Speck, Brie] |\n", + "|Tonno & Cipolle|7.95 |[Tomato Sauce, Mozzarella Cheese, Tuna, Onions] |\n", + "|Fries |3.95 |[Potatoes] |\n", + "+---------------+-----+---------------------------------------------------+\n", + "\n" + ] + } + ], + "source": [ + "from pyspark.sql.types import StructType, StructField, StringType, FloatType, ArrayType\n", + "\n", + "#Createe the schema using StructField(Name, Type, Nullable)\n", + "schema = StructType([ \\\n", + " StructField(\"Pizza Name\", StringType(), True), \\\n", + " StructField(\"Price\", FloatType(), True), \\\n", + " StructField(\"Ingredients\", ArrayType(StringType()), True) \\\n", + "])\n", + " \n", + "df = spark.createDataFrame(data = df_data, schema = schema)\n", + "df.printSchema()\n", + "df.show(truncate=False)" + ] + }, + { + "cell_type": "markdown", + "id": "6991a58a-c4d8-48a7-9b74-f20267254efb", + "metadata": { + "tags": [] + }, + "source": [ + "

Organizing Data

" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "741212ed-9671-4b45-abd1-dfd99021632f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+---------------+-----+---------------------------------------------------+\n", + "|Pizza Name |Price|Ingredients |\n", + "+---------------+-----+---------------------------------------------------+\n", + "|Fries |3.95 |[Potatoes] |\n", + "|Margherita |5.95 |[Tomato Sauce, Mozzarella Cheese, Basil] |\n", + "|Diavola |5.95 |[Tomato Sauce, Mozzarella Cheese, Spicy Salame] |\n", + "|Calzone |7.95 |[Tomato Sauce, Mozzarella Cheese, Prosciutto Cotto]|\n", + "|Prosciutto |7.95 |[Tomato Sauce, Mozzarella Cheese, Prosciutto Cotto]|\n", + "|Speck & Brie |7.95 |[Tomato Sauce, Mozzarella Cheese, Speck, Brie] |\n", + "|Tonno & Cipolle|7.95 |[Tomato Sauce, Mozzarella Cheese, Tuna, Onions] |\n", + "+---------------+-----+---------------------------------------------------+\n", + "\n" + ] + } + ], + "source": [ + "# Sorting depending on the fields (default = ascending order)\n", + "df.sort(\"Price\").show(truncate = False)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "ec0f8118-a616-43e4-b501-2d7e0cce34a5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+---------------+-----+---------------------------------------------------+\n", + "|Pizza Name |Price|Ingredients |\n", + "+---------------+-----+---------------------------------------------------+\n", + "|Fries |3.95 |[Potatoes] |\n", + "|Diavola |5.95 |[Tomato Sauce, Mozzarella Cheese, Spicy Salame] |\n", + "|Margherita |5.95 |[Tomato Sauce, Mozzarella Cheese, Basil] |\n", + "|Calzone |7.95 |[Tomato Sauce, Mozzarella Cheese, Prosciutto Cotto]|\n", + "|Prosciutto |7.95 |[Tomato Sauce, Mozzarella Cheese, Prosciutto Cotto]|\n", + "|Speck & Brie |7.95 |[Tomato Sauce, Mozzarella Cheese, Speck, Brie] |\n", + "|Tonno & Cipolle|7.95 |[Tomato Sauce, Mozzarella Cheese, Tuna, Onions] |\n", + "+---------------+-----+---------------------------------------------------+\n", + "\n" + ] + } + ], + "source": [ + "from pyspark.sql.functions import col\n", + "# Sorting depending on the fields\n", + "df.sort(col(\"Price\"), col(\"Pizza Name\")).show(truncate = False)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1857f478-be58-4acb-8235-99ffc5230879", + "metadata": {}, + "outputs": [], + "source": [ + "# Sorting using orderBy\n", + "df.orderBy(col(\"Price\"), col(\"Pizza Name\")).show(truncate = False)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "821c2b65-e3ab-4fd9-8538-07d0bb081ca5", + "metadata": {}, + "outputs": [], + "source": [ + "# Expliciting the sorting (work the same with orderBy)\n", + "df.sort(col(\"Price\").asc(), col(\"Pizza Name\").desc()).show(truncate = False)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dc3e4b71-ac6c-4419-b26e-01c00e2a93c2", + "metadata": {}, + "outputs": [], + "source": [ + "# We could also use raw SQL\n", + "# No spoilers -> We'll see how to use it later on" + ] + }, + { + "cell_type": "markdown", + "id": "cc888070-3830-424b-be01-29dc552df799", + "metadata": {}, + "source": [ + "

Explode Arrays in Individual Rows

" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "4f11d458-11b0-4dd9-b0bf-9707c599fdd2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- Pizza Name: string (nullable = true)\n", + " |-- Price: float (nullable = true)\n", + " |-- col: string (nullable = true)\n", + "\n", + "+---------------+-----+-----------------+\n", + "|Pizza Name |Price|col |\n", + "+---------------+-----+-----------------+\n", + "|Margherita |5.95 |Tomato Sauce |\n", + "|Margherita |5.95 |Mozzarella Cheese|\n", + "|Margherita |5.95 |Basil |\n", + "|Calzone |7.95 |Tomato Sauce |\n", + "|Calzone |7.95 |Mozzarella Cheese|\n", + "|Calzone |7.95 |Prosciutto Cotto |\n", + "|Diavola |5.95 |Tomato Sauce |\n", + "|Diavola |5.95 |Mozzarella Cheese|\n", + "|Diavola |5.95 |Spicy Salame |\n", + "|Prosciutto |7.95 |Tomato Sauce |\n", + "|Prosciutto |7.95 |Mozzarella Cheese|\n", + "|Prosciutto |7.95 |Prosciutto Cotto |\n", + "|Speck & Brie |7.95 |Tomato Sauce |\n", + "|Speck & Brie |7.95 |Mozzarella Cheese|\n", + "|Speck & Brie |7.95 |Speck |\n", + "|Speck & Brie |7.95 |Brie |\n", + "|Tonno & Cipolle|7.95 |Tomato Sauce |\n", + "|Tonno & Cipolle|7.95 |Mozzarella Cheese|\n", + "|Tonno & Cipolle|7.95 |Tuna |\n", + "|Tonno & Cipolle|7.95 |Onions |\n", + "+---------------+-----+-----------------+\n", + "only showing top 20 rows\n", + "\n" + ] + } + ], + "source": [ + "from pyspark.sql.functions import explode\n", + "\n", + "exploded_df = df.select(col(\"Pizza Name\"), df.Price, explode(df.Ingredients))\n", + "exploded_df.printSchema()\n", + "exploded_df.show(truncate = False)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "91dbc7d0-ee23-4c83-99be-4d1d15523f1a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- Pizza Name: string (nullable = true)\n", + " |-- Price: float (nullable = true)\n", + " |-- Ingredient: string (nullable = true)\n", + "\n" + ] + } + ], + "source": [ + "# How can we rename a column?\n", + "exploded_df = exploded_df.withColumnRenamed(\"col\", \"Ingredient\").printSchema()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.8" + }, + "vscode": { + "interpreter": { + "hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1" + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/hw03/report.pdf b/hw03/report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..347c24a14ef0541189c58fbec27ae975cae968e2 GIT binary patch literal 135214 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 csv-import/${t}.csv;\n", + "done\n", + "\n", + "cp dblp_csv_{author|journal}_* dblp_csv_{author|journal}.csv csv-import\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "5cffc425", + "metadata": {}, + "source": [ + "## Data import and dataframes creation" + ] + }, + { + "cell_type": "markdown", + "id": "2564cf1e", + "metadata": {}, + "source": [ + "Here we create the `article` dataframe. To create it we mainly need to read the article CSV file and join it with the article-to-journal join table created by _dblp-to-csv_ script, which we can do while preserving 1NF since we know that an article may be present only in a single journal.\n", + "\n", + "For the scope of this assignment we decide to fix the number of articles to 10000, selecting them at random from the export." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "674da4e3", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " \r" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- ID: integer (nullable = false)\n", + " |-- Title: string (nullable = false)\n", + " |-- MetadataDate: timestamp (nullable = true)\n", + " |-- Volume: string (nullable = true)\n", + " |-- NumberInVolume: string (nullable = true)\n", + " |-- PagesInVolume: string (nullable = true)\n", + " |-- ObjectIds: array (nullable = true)\n", + " | |-- element: string (containsNull = false)\n", + " |-- JournalId: integer (nullable = true)\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Stage 8:==========================================> (5 + 1) / 7]\r" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+-------+--------------------+-------------------+--------------+--------------+-------------+--------------------+---------+\n", + "| ID| Title| MetadataDate| Volume|NumberInVolume|PagesInVolume| ObjectIds|JournalId|\n", + "+-------+--------------------+-------------------+--------------+--------------+-------------+--------------------+---------+\n", + "|7476125|Offline Drawing o...|2018-08-13 00:00:00|abs/1608.08385| null| null|[http://arxiv.org...| 12791182|\n", + "|7798842|Reasoning about S...|2020-09-02 00:00:00| 22| 2| 241-262|[https://doi.org/...| 12791281|\n", + "|9477159|System Dynamics M...|2021-10-14 00:00:00| 11| 5| 677|[https://doi.org/...| 12792549|\n", + "|7286983|Wireless Transmis...|2018-08-13 00:00:00|abs/1805.09923| null| null|[http://arxiv.org...| 12791182|\n", + "|7316024|Distributed Struc...|2018-08-13 00:00:00| abs/1207.1345| null| null|[http://arxiv.org...| 12791182|\n", + "|7863079|A Novel Human Aut...|2018-11-14 00:00:00| 12| 6| 7828-7854|[https://doi.org/...| 12791310|\n", + "|6720476|Biogenetic Temper...|2021-10-14 00:00:00| 11| 6| 735-737|[https://doi.org/...| 12790859|\n", + "|7912232|Routing of multip...|2020-04-02 00:00:00| 6| 9| 1617-1622|[https://doi.org/...| 12791324|\n", + "|9296802|The Third Version...|2021-10-14 00:00:00| 5| 4| null|[https://doi.org/...| 12792370|\n", + "|7021903|Demand for housin...|2020-09-17 00:00:00| 18| 1| 61-68|[https://doi.org/...| 12791062|\n", + "|8624192|Visualization of ...|2018-11-14 00:00:00| 18| 12| 2198-2207|[http://doi.ieeec...| 12791925|\n", + "|9028185|Network Topology ...|2020-05-20 00:00:00| 56| 10| 2262-2275|[https://doi.org/...| 12792144|\n", + "|8756232|Modelling, analys...|2020-07-03 00:00:00| 12| 3| 207-216|[https://doi.org/...| 12791998|\n", + "|7841131|Person re-identif...|2020-01-15 00:00:00| 97| null| null|[https://doi.org/...| 12791303|\n", + "|8571383|Social media and ...|2022-01-03 00:00:00| 39| null| 404-412|[https://doi.org/...| 12791876|\n", + "|9211872|Reclaiming Spare ...|2020-03-13 00:00:00| 2011| null| null|[https://doi.org/...| 12792282|\n", + "|7654415|Towards Automatic...|2019-10-02 00:00:00|abs/1909.13184| null| null|[http://arxiv.org...| 12791182|\n", + "|8165836|Smart Real Time A...|2021-02-26 00:00:00| 20| 3| 347-364|[https://doi.org/...| 12791533|\n", + "|8549734|Large-scale image...|2020-05-11 00:00:00| 79| 13-14| 9663|[https://doi.org/...| 12791859|\n", + "|7535983|On Coreset Constr...|2018-08-13 00:00:00|abs/1612.07516| null| null|[http://arxiv.org...| 12791182|\n", + "+-------+--------------------+-------------------+--------------+--------------+-------------+--------------------+---------+\n", + "only showing top 20 rows\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\r", + "[Stage 8:==================================================> (6 + 1) / 7]\r", + "\r", + " \r" + ] + } + ], + "source": [ + "articles_path = \"./csv-import/article.csv\"\n", + "articles_journals_path = \"./csv-import/dblp_csv_journal_article_journal.csv\"\n", + "\n", + "df_articles_csv = spark.read \\\n", + " .option(\"delimiter\", \";\") \\\n", + " .option(\"header\", True) \\\n", + " .csv(articles_path, inferSchema=True) \\\n", + " .select(\"id\", \"title\", \"mdate\", \"volume\", \"number\", \"pages\", \"ee\") \\\n", + " .where(\"id > 2\") \\\n", + " .withColumn('Content', fake_content_udf()) \\\n", + " .withColumnRenamed(\"id\", \"ID\") \\\n", + " .withColumnRenamed(\"title\", \"Title\") \\\n", + " .withColumnRenamed(\"mdate\", \"MetadataDate\") \\\n", + " .withColumnRenamed(\"volume\", \"Volume\") \\\n", + " .withColumnRenamed(\"number\", \"NumberInVolume\") \\\n", + " .withColumnRenamed(\"pages\", \"PagesInVolume\") \\\n", + " .withColumnRenamed(\"ee\", \"ObjectIds\") \\\n", + " .na.drop(subset=[\"ID\", \"Title\"]) \\\n", + " .withColumn(\"ID\", F.coalesce(F.col(\"ID\"), F.lit(0))) \\\n", + " .withColumn(\"Title\", F.coalesce(F.col(\"Title\"), F.lit(\"\"))) \\\n", + " .select(\"ID\", \"Title\", \"MetadataDate\", \"Volume\", \"NumberInVolume\", \"PagesInVolume\", \\\n", + " F.split(\"ObjectIds\", \"\\\\|\").alias(\"ObjectIds\"))\n", + "\n", + "# force ID and Title to be not-nullable, given the .na.drop coalescing never actually happens\n", + "# https://stackoverflow.com/a/58515908\n", + "\n", + "df_article_journals_csv = spark.read \\\n", + " .option(\"delimiter\", \";\") \\\n", + " .option(\"header\", True) \\\n", + " .csv(articles_journals_path, inferSchema=True) \\\n", + " .withColumnRenamed(\":END_ID\", \"JournalId\")\n", + "\n", + "df_articles = df_articles_csv \\\n", + " .join(df_article_journals_csv, \\\n", + " df_article_journals_csv[':START_ID'] == df_articles_csv.ID, 'left') \\\n", + " .drop(\":START_ID\") \\\n", + " .orderBy(F.rand()).limit(10000)\n", + " \n", + "df_articles.printSchema()\n", + "df_articles.show()" + ] + }, + { + "cell_type": "markdown", + "id": "921f9e8f", + "metadata": {}, + "source": [ + "Here we import the `article-to-author` CSV file as a dataframe. We filter its rows to make sure we only include the articles we selected at random from the previous step from performance reasons.\n", + "\n", + "Note the use of the `F.coalesce` function to coalesce `ArticleId` and `AuthorId` with 0. As we know that the columns are never null by analyzing the source data, this is simply a workaround to force the schema of the resulting DataFrame to mark these columns as not-null." + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "id": "11172912", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " \r" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- ArticleId: integer (nullable = false)\n", + " |-- AuthorId: integer (nullable = false)\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Stage 1578:> (0 + 1) / 1]\r" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+---------+--------+\n", + "|ArticleId|AuthorId|\n", + "+---------+--------+\n", + "| 6636860| 9567664|\n", + "| 6636860| 9570761|\n", + "| 7374783| 9573169|\n", + "| 7693829| 9601657|\n", + "| 6555847| 9608005|\n", + "| 7374783| 9626452|\n", + "| 7946825| 9631289|\n", + "| 8139540| 9636064|\n", + "| 7565583| 9636102|\n", + "| 9321630| 9644172|\n", + "| 7668271| 9650410|\n", + "| 7668271| 9651402|\n", + "| 7371049| 9658197|\n", + "| 8037829| 9665927|\n", + "| 8037829| 9667969|\n", + "| 8170953| 9671694|\n", + "| 6636860| 9672057|\n", + "| 6649339| 9673588|\n", + "| 7324396| 9674337|\n", + "| 8362140| 9674444|\n", + "+---------+--------+\n", + "only showing top 20 rows\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\r", + " \r" + ] + } + ], + "source": [ + "articles_authors_path = \"./csv-import/dblp_csv_author_article_author.csv\"\n", + "\n", + "df_article_ids = df_articles.select(F.col(\"ID\").alias(\"ArtId\"))\n", + "\n", + "df_articles_authors = spark.read \\\n", + " .option(\"delimiter\", \";\") \\\n", + " .option(\"header\", True) \\\n", + " .csv(articles_authors_path, inferSchema=True) \\\n", + " .withColumnRenamed(\":START_ID\", \"ArticleId\") \\\n", + " .withColumnRenamed(\":END_ID\", \"AuthorId\") \\\n", + " .withColumn(\"ArticleId\", F.coalesce(F.col(\"ArticleId\"), F.lit(0))) \\\n", + " .withColumn(\"AuthorId\", F.coalesce(F.col(\"AuthorId\"), F.lit(0))) \\\n", + " .join(df_article_ids, df_article_ids[\"ArtId\"] == F.col(\"ArticleId\"), 'inner') \\\n", + " .select(\"ArticleId\", \"AuthorId\") \\\n", + " .distinct()\n", + "\n", + "df_articles_authors.printSchema()\n", + "df_articles_authors.show()" + ] + }, + { + "cell_type": "markdown", + "id": "32906fe0", + "metadata": {}, + "source": [ + "Here we import the `authors`. We perform a similar filter process to the aforementioned one, dropping the authors that did not publish any article that we randomly selected for performance reasons." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "abc8efd3", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " \r" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- ID: integer (nullable = false)\n", + " |-- Name: string (nullable = false)\n", + " |-- Email: string (nullable = true)\n", + " |-- Affiliation: string (nullable = true)\n", + " |-- Bio: string (nullable = true)\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Stage 32:> (0 + 1) / 1]\r" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+-------+--------------------+--------------------+--------------------+--------------------+\n", + "| ID| Name| Email| Affiliation| Bio|\n", + "+-------+--------------------+--------------------+--------------------+--------------------+\n", + "|9566872| Adnan Abid|wjohnson@clark-mc...|University of Vernon|Already sell deci...|\n", + "|9567627| Roberto Rossi|hmontgomery@hotma...| University of Biu|Seven exist risk ...|\n", + "|9569592| Hannes Hartenstein|robertsbeth@ramir...|University of Losser|Card data with be...|\n", + "|9572255| Bülent Karasözen| joshua34@barber.net| University of Kulai|Ready effort duri...|\n", + "|9608965| Xiaowei Zhao|timothyvazquez@gm...|University of Par...|Build wall push c...|\n", + "|9638842| Li Yan|loganjohnson@gmai...|University of Artsyz|School eye about....|\n", + "|9641092| Karen Livescu| dyoung@hotmail.com|University of Eas...|Some up no. Follo...|\n", + "|9641772| Edna Dias Canedo| cindy01@rivera.com|University of Sas...|Consider parent l...|\n", + "|9652591| Petrik Clarberg|harristiffany@gil...|University of Lan...|Establish black m...|\n", + "|9653203| Jan Jerabek|zrodriguez@black-...| University of Tavda|Deep event hold w...|\n", + "|9666198|Mihaela van der S...|hvelasquez@hotmai...|University of Voz...|Study foot over a...|\n", + "|9666973| Esther Pacitti|edwardmelton@hotm...| University of Tonga|Represent respons...|\n", + "|9667290| Yannis Kotidis| paul36@yahoo.com|University of Glo...|Wish special guy....|\n", + "|9669347| Ove Frank| pmartin@yahoo.com|University of New...|Art other radio e...|\n", + "|9669369| Weldon A. Lodwick|hughesrodney@vill...|University of Bel...|Exactly relate se...|\n", + "|9676721| Glen Takahara|jenniferbaker@hot...|University of Bru...|Catch still follo...|\n", + "|9734805| Hibiki Tsukada|christinahensley@...|University of Aklera|Success economic ...|\n", + "|9749941| Tobias Gemaßmer|brownjohn@hotmail...|University of Agu...|Lot conference ca...|\n", + "|9819186| Tarak Nandy|kevinduncan@hotma...| University of Lille|Election environm...|\n", + "|9857863| Jun Zhang 0024|perezolivia@hotma...|University of Kan...|Chair pretty rece...|\n", + "+-------+--------------------+--------------------+--------------------+--------------------+\n", + "only showing top 20 rows\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\r", + " \r" + ] + } + ], + "source": [ + "authors_path = \"./csv-import/dblp_csv_author.csv\"\n", + "\n", + "df_author_ids = df_articles_authors.select(F.col(\"AuthorId\").alias(\"AutId\"))\n", + "\n", + "# More info on coalescing: https://youtu.be/ysPtBjY8o_A\n", + "df_authors = spark.read \\\n", + " .option(\"delimiter\", \";\") \\\n", + " .option(\"header\", True) \\\n", + " .csv(authors_path, inferSchema=True) \\\n", + " .withColumnRenamed(\":ID\", \"ID\") \\\n", + " .withColumnRenamed(\"author:string\", \"Name\") \\\n", + " .join(df_author_ids, df_author_ids[\"AutId\"] == F.col(\"ID\"), 'inner') \\\n", + " .select(\"ID\", \"Name\") \\\n", + " .distinct() \\\n", + " .withColumn(\"ID\", F.coalesce(F.col(\"ID\"), F.lit(0))) \\\n", + " .withColumn(\"Name\", F.coalesce(F.col(\"Name\"), F.lit(\"\"))) \\\n", + " .withColumn('Email', fake_email_udf()) \\\n", + " .withColumn('Affiliation', fake_affiliation_udf()) \\\n", + " .withColumn('Bio', fake_bio_udf())\n", + "\n", + "df_authors.printSchema()\n", + "df_authors.show()" + ] + }, + { + "cell_type": "markdown", + "id": "ab9952a7", + "metadata": {}, + "source": [ + "Finally, here we import the `journals`. Note that here we actually import journals that may have no article in them out of the randomly selected articles. As this does not affect the queries or performance, we simply ignore this." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "6fa14e0d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- ID: integer (nullable = false)\n", + " |-- Name: string (nullable = false)\n", + "\n", + "+--------+--------------------+\n", + "| ID| Name|\n", + "+--------+--------------------+\n", + "|12790675| World Wide Web|\n", + "|12790676| SIGMOD Rec.|\n", + "|12790677| SIGMOD Record|\n", + "|12790678|EAI Endorsed Tran...|\n", + "|12790679|Int. J. Trust. Ma...|\n", + "|12790680|Expert Syst. Appl. X|\n", + "|12790681|Bull. dInformatiq...|\n", + "|12790682|Trans. Large Scal...|\n", + "|12790683| Stud. Inform. Univ.|\n", + "|12790684|IEEE Intell. Tran...|\n", + "|12790685| Control. Cybern.|\n", + "|12790686|Syst. Control. Lett.|\n", + "|12790687|Sci. Comput. Prog...|\n", + "|12790688|Found. Comput. Math.|\n", + "|12790689| Theor. Comput. Sci.|\n", + "|12790690| Inf. Technol. Dev.|\n", + "|12790691|EURASIP J. Adv. S...|\n", + "|12790692|IEEE Embed. Syst....|\n", + "|12790693|J. Assoc. Inf. Syst.|\n", + "|12790694|EAI Endorsed Tran...|\n", + "+--------+--------------------+\n", + "only showing top 20 rows\n", + "\n" + ] + } + ], + "source": [ + "journals_path = \"./csv-import/dblp_csv_journal.csv\"\n", + "\n", + "df_journals = spark.read \\\n", + " .option(\"delimiter\", \";\") \\\n", + " .option(\"header\", True) \\\n", + " .csv(journals_path, inferSchema=True) \\\n", + " .withColumnRenamed(\":ID\", \"ID\") \\\n", + " .withColumnRenamed(\"journal:string\", \"Name\") \\\n", + " .withColumn(\"ID\", F.coalesce(F.col(\"ID\"), F.lit(0))) \\\n", + " .withColumn(\"Name\", F.coalesce(F.col(\"Name\"), F.lit(\"\")))\n", + "\n", + "df_journals.printSchema()\n", + "df_journals.show()" + ] + }, + { + "cell_type": "markdown", + "id": "4ed3ec8c", + "metadata": {}, + "source": [ + "The DBLP XML dataset has no `reference` data, therefore we generate our own with the aid of UDF functions using Faker. For each article we generate 1 to 15 random references with may either point to an article in our dataset or to an external article." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "f2c17a35", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " \r" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- RefNumber: integer (nullable = true)\n", + " |-- InternalPaperId: integer (nullable = true)\n", + " |-- Title: string (nullable = true)\n", + " |-- Authors: array (nullable = true)\n", + " | |-- element: string (containsNull = true)\n", + " |-- Journal: string (nullable = true)\n", + " |-- JournalId: integer (nullable = true)\n", + " |-- Volume: string (nullable = true)\n", + " |-- NumberInVolume: string (nullable = true)\n", + " |-- ArticleId: integer (nullable = false)\n", + " |-- ID: long (nullable = false)\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Stage 52:> (0 + 1) / 1]\r" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+---------+---------------+--------------------+--------------------+--------------------+---------+--------------+--------------+---------+---+\n", + "|RefNumber|InternalPaperId| Title| Authors| Journal|JournalId| Volume|NumberInVolume|ArticleId| ID|\n", + "+---------+---------------+--------------------+--------------------+--------------------+---------+--------------+--------------+---------+---+\n", + "| 1| 7490681|UNIFUZZ: A Holist...|[Chenyang Lyu, Ch...| CoRR| 12791182|abs/2010.01785| null| 7318490| 0|\n", + "| 2| null|Customer-focused ...| [Steven Gordon]|generate compelli...| null| 9| 85| 7318490| 1|\n", + "| 3| 8969478|Total Variation F...|[Ahmed B. Altamim...| IEEE Access| 12792132| 8| null| 7318490| 2|\n", + "| 4| 7156412|Enhancing the Stu...|[Antoni Lluís Mes...| IEEE Trans. Educ.| 12791148| 64| 1| 7318490| 3|\n", + "| 5| null|Secured zero admi...| [Dwayne Lane]|facilitate effici...| null| 169| 99| 7318490| 4|\n", + "| 6| null|Inverse attitude-...|[Matthew Gill, Ni...|harness web-enabl...| null| 224| 123| 7318490| 5|\n", + "| 1| 8255791|On the Calculatio...|[R. L. Smelianski...| Inf. Process. Lett.| 12791629| 22| 5| 8067977| 6|\n", + "| 2| 8159350|A high-order fuzz...| [Mu-Yen Chen]|Future Gener. Com...| 12791529| 37| null| 8067977| 7|\n", + "| 3| 6553754|Attitude Estimati...|[Byungjin Lee, Ju...|IEEE Trans. Instr...| 12790705| 70| null| 8067977| 8|\n", + "| 4| null|Configurable 24/7...|[Joan Lambert, Li...|re-intermediate l...| null| 499| 167| 8067977| 9|\n", + "| 5| 6849169|Automatic evaluat...|[Akinori Ito, Mas...|Comput. Speech Lang.| 12790941| 28| 2| 8067977| 10|\n", + "| 6| 8070896|Acquiring and App...|[Debbie Richards ...|J. Inf. Knowl. Ma...| 12791460| 2| 2| 8067977| 11|\n", + "| 7| 7330047|Stochastic Optimi...| [Rong Jin 0001]| CoRR| 12791182| abs/1312.0048| null| 8067977| 12|\n", + "| 8| 9508705| SIGCOMM news.| [Erich M. Nahum]|Comput. Commun. Rev.| 12792585| 36| 5| 8067977| 13|\n", + "| 9| 6509187|Stabilizing unsta...|[Ahmet Cetinkaya,...|Syst. Control. Lett.| 12790686| 113| null| 8067977| 14|\n", + "| 1| null|Progressive full-...|[Casey Harris, An...|target distribute...| null| 312| 39| 7289500| 15|\n", + "| 2| null|Distributed multi...|[Stephen Oconnor,...|incentivize dot-c...| null| 58| 7| 7289500| 16|\n", + "| 1| 8245635|Investigation of ...|[Li Li 0013, Qi W...|J. Intell. Transp...| 12791625| 18| 3| 9151933| 17|\n", + "| 2| 7846928|First British Com...| null| Comput. J.| 12791305| 1| 3| 9151933| 18|\n", + "| 3| 8521523|Neuro-fuzzy archi...|[Bogdan M. Wilamo...|IEEE Trans. Ind. ...| 12791844| 46| 6| 9151933| 19|\n", + "+---------+---------------+--------------------+--------------------+--------------------+---------+--------------+--------------+---------+---+\n", + "only showing top 20 rows\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\r", + " \r" + ] + } + ], + "source": [ + "reference_to_explode_schema = ArrayType(StructType([ \\\n", + " StructField(\"RefNumber\", IntegerType(), True), \\\n", + " StructField(\"InternalPaperId\", IntegerType(), True), \\\n", + " StructField(\"Title\", StringType(), True), \\\n", + " StructField(\"Authors\", ArrayType(StringType()), True), \\\n", + " StructField(\"Journal\", StringType(), True), \\\n", + " StructField(\"JournalId\", IntegerType(), True), \\\n", + " StructField(\"Volume\", StringType(), True), \\\n", + " StructField(\"NumberInVolume\", StringType(), True)\n", + "]))\n", + "\n", + "# Pool of articles to randomly cite\n", + "# We can't select them ad-hoc in the UDF function as DataFrames cannot be pickled\n", + "# See: https://stackoverflow.com/q/47249292\n", + "articles: list[dict] = spark.read \\\n", + " .option(\"delimiter\", \";\") \\\n", + " .option(\"header\", True) \\\n", + " .csv(articles_path, inferSchema=True) \\\n", + " .alias(\"art1\") \\\n", + " .join(df_articles, F.col(\"art1.ID\") == df_articles_csv[\"ID\"], 'inner') \\\n", + " .select(\"art1.*\") \\\n", + " .select(\"id\", \"title\", \"volume\", \"number\", \"pages\", \"journal\", \n", + " F.split(F.col(\"author\"), '\\|', -1).alias('author')) \\\n", + " .withColumn(\"id\", F.coalesce(F.col(\"id\"), F.lit(0))) \\\n", + " .withColumn(\"title\", F.coalesce(F.col(\"title\"), F.lit(\"\"))) \\\n", + " .alias(\"art2\") \\\n", + " .join(df_article_journals_csv, df_article_journals_csv[':START_ID'] == F.col(\"art2.id\"), 'left') \\\n", + " .drop(\":START_ID\") \\\n", + " .collect() \n", + "\n", + "def internal_fake_reference(ref: int): \n", + " # Select Random article\n", + " article: dict = articles[random.randint(0, len(articles) - 1)]\n", + " \n", + " return {\n", + " \"RefNumber\": ref,\n", + " \"InternalPaperId\": article[\"id\"],\n", + " \"Title\": article[\"title\"],\n", + " \"Authors\": article[\"author\"],\n", + " \"Journal\": article[\"journal\"],\n", + " \"JournalId\": article[\"JournalId\"],\n", + " \"Volume\": article[\"volume\"],\n", + " \"NumberInVolume\": article[\"number\"]\n", + " }\n", + "\n", + "def external_fake_reference(ref: int):\n", + " return {\n", + " \"RefNumber\": ref,\n", + " \"InternalPaperId\": None,\n", + " \"Title\": fake.catch_phrase() + \": \" + fake.catch_phrase(),\n", + " \"Authors\": [fake.name() for x in range(random.randint(1, 6))],\n", + " \"Journal\": fake.bs(),\n", + " \"JournalId\": None,\n", + " \"Volume\": random.randint(1, 500),\n", + " \"NumberInVolume\": random.randint(1, 200)\n", + " }\n", + "\n", + "def rand_bool() -> bool: \n", + " return bool(random.getrandbits(1))\n", + "\n", + "def rand_references(min_count: int, max_count: int) -> list[dict]:\n", + " return [internal_fake_reference(x + 1) if rand_bool() else external_fake_reference(x + 1) \\\n", + " for x in range(random.randint(min_count, max_count))]\n", + "\n", + "fake_references_udf = F.udf(lambda : rand_references(1, 15), reference_to_explode_schema)\n", + "\n", + "df_references = df_articles \\\n", + " .withColumn(\"explode\", fake_references_udf()) \\\n", + " .withColumnRenamed(\"ID\", \"ArticleId\") \\\n", + " .select(\"ArticleId\", F.explode(\"explode\").alias(\"explode\")) \\\n", + " .select(\"explode.*\", \"ArticleId\") \\\n", + " .withColumn(\"ID\", F.monotonically_increasing_id())\n", + "\n", + "df_references.printSchema()\n", + "df_references.show()" + ] + }, + { + "cell_type": "markdown", + "id": "5818c7f8", + "metadata": {}, + "source": [ + "We now print a short overview of the size of all datasets.\n", + "\n", + "Finally, after the import process we save all the dataframes to a _Parquet_ file in order to cache the operations we made until now. Saving and reloading the dataframes also solves a known Spark bug related to re-computing UDFs, which would be problematic since our UDF outputs are random. More info here: https://stackoverflow.com/questions/40320563/" + ] + }, + { + "cell_type": "code", + "execution_count": 125, + "id": "33ba4e4e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Articles 10000\n", + "Authors 30643\n", + "Journals 1955\n", + "References 79752\n" + ] + } + ], + "source": [ + "print(\"Articles\", df_articles.count())\n", + "print(\"Authors\", df_authors.count())\n", + "print(\"Journals\", df_journals.count())\n", + "print(\"References\", df_references.count())\n", + "\n", + "df_articles.write.mode('overwrite').parquet('df_articles.parquet')\n", + "df_articles_authors.write.mode('overwrite').parquet('df_articles_authors.parquet')\n", + "df_authors.write.mode('overwrite').parquet('df_authors.parquet')\n", + "df_journals.write.mode('overwrite').parquet('df_journals.parquet')\n", + "df_references.write.mode('overwrite').parquet('df_references.parquet')" + ] + }, + { + "cell_type": "markdown", + "id": "0f42bb00", + "metadata": {}, + "source": [ + "## Query" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "443e1ba6", + "metadata": {}, + "outputs": [], + "source": [ + "df_articles = spark.read.parquet('df_articles.parquet')\n", + "df_articles_authors = spark.read.parquet('df_articles_authors.parquet')\n", + "df_authors = spark.read.parquet('df_authors.parquet')\n", + "df_journals = spark.read.parquet('df_journals.parquet')\n", + "df_references = spark.read.parquet('df_references.parquet')" + ] + }, + { + "cell_type": "markdown", + "id": "e934ea72", + "metadata": {}, + "source": [ + "#### Actual schemas for the queries" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "d00bef3c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "root\n", + " |-- ID: integer (nullable = true)\n", + " |-- Title: string (nullable = true)\n", + " |-- MetadataDate: timestamp (nullable = true)\n", + " |-- Volume: string (nullable = true)\n", + " |-- NumberInVolume: string (nullable = true)\n", + " |-- PagesInVolume: string (nullable = true)\n", + " |-- ObjectIds: array (nullable = true)\n", + " | |-- element: string (containsNull = true)\n", + " |-- JournalId: integer (nullable = true)\n", + "\n", + "root\n", + " |-- ArticleId: integer (nullable = true)\n", + " |-- AuthorId: integer (nullable = true)\n", + "\n", + "root\n", + " |-- ID: integer (nullable = true)\n", + " |-- Name: string (nullable = true)\n", + " |-- Email: string (nullable = true)\n", + " |-- Affiliation: string (nullable = true)\n", + " |-- Bio: string (nullable = true)\n", + "\n", + "root\n", + " |-- ID: integer (nullable = true)\n", + " |-- Name: string (nullable = true)\n", + "\n", + "root\n", + " |-- RefNumber: integer (nullable = true)\n", + " |-- InternalPaperId: integer (nullable = true)\n", + " |-- Title: string (nullable = true)\n", + " |-- Authors: array (nullable = true)\n", + " | |-- element: string (containsNull = true)\n", + " |-- Journal: string (nullable = true)\n", + " |-- JournalId: integer (nullable = true)\n", + " |-- Volume: string (nullable = true)\n", + " |-- NumberInVolume: string (nullable = true)\n", + " |-- ArticleId: integer (nullable = true)\n", + " |-- ID: long (nullable = true)\n", + "\n" + ] + } + ], + "source": [ + "df_articles.printSchema()\n", + "df_articles_authors.printSchema()\n", + "df_authors.printSchema()\n", + "df_journals.printSchema()\n", + "df_references.printSchema()" + ] + }, + { + "cell_type": "markdown", + "id": "1b2ca94d", + "metadata": {}, + "source": [ + "### 5 data creation/update queries" + ] + }, + { + "cell_type": "markdown", + "id": "2c10d20f", + "metadata": {}, + "source": [ + "#### 01. Insert a new article in the relative DataFrame" + ] + }, + { + "cell_type": "markdown", + "id": "b4a0996e", + "metadata": {}, + "source": [ + "We extract the article with the max id in order to guarantee that the inserted id is unique because computed as maximum plus one. We compute the execution time in two cases: the first one considers the case in which the id may not be unique and does not insert the article in that case, but the presence of the id in the database is to be checked; the second one just inserts the new article, assuming the id is unique." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "33b976cd", + "metadata": {}, + "outputs": [], + "source": [ + "new_article_id = df_articles.groupBy().max(\"ID\").collect()[0][0] + 1\n", + "new_article_journal_id = df_journals.filter(df_journals.Name == \"World Wide Web\").select(\"ID\").collect()[0][0]\n", + "df_new_article = spark.createDataFrame(data = [(new_article_id, \"On The Origin Of Species\", None, new_article_journal_id, None, None, None, None)], schema=df_articles.schema)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "5a53dbc8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Article inserted\n", + "Execution time: 0.07419419288635254\n" + ] + } + ], + "source": [ + "start_time = time()\n", + "# check if the primary key is already present\n", + "temp_article = df_articles.filter(df_articles.ID == new_article_id)\n", + "if temp_article.isEmpty():\n", + " df_articles = df_articles.union(df_new_article)\n", + " print(\"Article inserted\")\n", + "else:\n", + " print(\"Article id already present\")\n", + "\n", + "print(f\"Execution time: {time() - start_time}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "75098c0c", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\r", + "[Stage 94:===================> (1 + 1) / 3]\r" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Execution time: 1.206272840499878\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\r", + "[Stage 94:======================================> (2 + 1) / 3]\r", + "\r", + " \r" + ] + } + ], + "source": [ + "start_time = time()\n", + "\n", + "df_articles = df_articles.union(df_new_article)\n", + "df_articles.collect()\n", + "\n", + "print(f\"Execution time: {time() - start_time}\")" + ] + }, + { + "cell_type": "markdown", + "id": "99786ab0", + "metadata": {}, + "source": [ + "#### 02. Insert a reference as an article in the database" + ] + }, + { + "cell_type": "markdown", + "id": "5d34807e", + "metadata": {}, + "source": [ + "This query consists of three steps: \n", + "\n", + "- the first one is to acquire a single reference which has no internal reference\n", + "- the second one is to create the new article DataFrame from the reference data\n", + "- the third one is to insert the new article in the DataFrame through the union" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "a447542c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Row(RefNumber=1, InternalPaperId=None, Title='Customer-focused hybrid alliance: Balanced web-enabled instruction set', Authors=['Steven Gordon', 'Sarah Castillo MD', 'Margaret Saunders', 'Douglas Cummings'], Journal='empower ubiquitous vortals', JournalId=None, Volume='63', NumberInVolume='86', ArticleId=7318490, ID=0)\n", + "Execution time: 0.11755108833312988\n" + ] + } + ], + "source": [ + "start_time = time()\n", + "\n", + "source_reference = df_references.filter(df_references.InternalPaperId.isNull()).limit(1).collect()[0]\n", + "print(source_reference)\n", + "\n", + "print(f\"Execution time: {time() - start_time}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "e09dea48", + "metadata": {}, + "outputs": [], + "source": [ + "new_article_id = df_articles.groupBy().max(\"ID\").collect()[0][0] + 1\n", + "\n", + "data = [(new_article_id,\n", + " source_reference[\"Title\"],\n", + " datetime.now(),\n", + " source_reference[\"Volume\"],\n", + " source_reference[\"NumberInVolume\"],\n", + " None,\n", + " None,\n", + " source_reference[\"JournalId\"]\n", + ")]\n", + "\n", + "df_new_article = spark.createDataFrame(data = data, schema=df_articles.schema)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "67e7fa81", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Execution time: 0.42409396171569824\n" + ] + } + ], + "source": [ + "start_time = time()\n", + "\n", + "df_articles = df_articles.union(df_new_article)\n", + "df_articles.collect()\n", + "\n", + "print(f\"Execution time: {time() - start_time}\")" + ] + }, + { + "cell_type": "markdown", + "id": "e31065dd", + "metadata": {}, + "source": [ + "#### 03. Update the metadata version of the articles of a given journal" + ] + }, + { + "cell_type": "markdown", + "id": "392ddc00", + "metadata": {}, + "source": [ + "This query updates the metadata version of all the articles published on a given journal to the current date. In order to do that, the following steps are performed:\n", + "\n", + "- Retrieve a journal name from the database\n", + "- Retrieve the articles related to the journal\n", + "- Creation of the new DataFrame with the articles' metadata version updated\n", + "- Replacement of the old articles with the new ones in the DataFrame (subtract + union)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "7dad6b5b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'World Wide Web'" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "journal_name = df_journals.limit(10).collect()[0][\"Name\"]\n", + "journal_name" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "1c40f02a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Execution time: 0.4636058807373047\n", + "[Row(ID=7154398, Title='Direction-based spatial skyline for retrieving surrounding objects.', MetadataDate=datetime.datetime(2021, 7, 25, 0, 0), Volume='23', NumberInVolume='1', PagesInVolume='207-239', ObjectIds=['https://doi.org/10.1007/s11280-019-00694-w'], JournalId=12790675), Row(ID=7154450, Title='A threat recognition solution of edge data security in industrial internet.', MetadataDate=datetime.datetime(2022, 10, 18, 0, 0), Volume='25', NumberInVolume='5', PagesInVolume='2109-2138', ObjectIds=['https://doi.org/10.1007/s11280-022-01054-x'], JournalId=12790675), Row(ID=7153948, Title='Prediction of Web Page Accesses by Proxy Server Log.', MetadataDate=datetime.datetime(2017, 5, 20, 0, 0), Volume='5', NumberInVolume='1', PagesInVolume='67-88', ObjectIds=['https://doi.org/10.1023/A:1015750423727'], JournalId=12790675), Row(ID=7154603, Title='Enhancing decision-making in user-centered web development: a methodology for card-sorting analysis.', MetadataDate=datetime.datetime(2022, 5, 13, 0, 0), Volume='24', NumberInVolume='6', PagesInVolume='2099-2137', ObjectIds=['https://doi.org/10.1007/s11280-021-00950-y'], JournalId=12790675)]\n" + ] + } + ], + "source": [ + "# find the articles to be updated\n", + "start_time = time()\n", + "\n", + "df_articles_to_update = df_articles\\\n", + " .join(df_journals, df_articles.JournalId == df_journals.ID)\\\n", + " .filter(df_journals.Name == journal_name)\\\n", + " .select(\n", + " df_articles.ID,\n", + " df_articles.Title,\n", + " df_articles.MetadataDate,\n", + " df_articles.Volume,\n", + " df_articles.NumberInVolume,\n", + " df_articles.PagesInVolume,\n", + " df_articles.ObjectIds,\n", + " df_articles.JournalId\n", + " )\n", + " \n", + "articles_to_update = df_articles_to_update.collect()\n", + "\n", + "print(f\"Execution time: {time() - start_time}\")\n", + "\n", + "print(articles_to_update)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "82a1b765", + "metadata": {}, + "outputs": [], + "source": [ + "# preparation of the data\n", + "\n", + "data: list[tuple[int, str, datetime, str, str, str, list[str], int]] = []\n", + "for article in articles_to_update:\n", + " data.append((\n", + " article[\"ID\"],\n", + " article[\"Title\"],\n", + " datetime.now(),\n", + " article[\"Volume\"],\n", + " article[\"NumberInVolume\"],\n", + " article[\"PagesInVolume\"],\n", + " article[\"ObjectIds\"],\n", + " article[\"JournalId\"]\n", + " ))\n", + "\n", + "df_updated_articles = spark.createDataFrame(data = data, schema=df_articles.schema)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "9f624e9b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Execution time: 1.5061960220336914\n" + ] + } + ], + "source": [ + "start_time = time()\n", + "\n", + "# remove the old articles and add the new ones\n", + "df_articles = df_articles.subtract(df_articles_to_update)\n", + "df_articles = df_articles.union(df_updated_articles)\n", + "\n", + "df_articles.collect()\n", + "\n", + "print(f\"Execution time: {time() - start_time}\")" + ] + }, + { + "cell_type": "markdown", + "id": "7354c188", + "metadata": {}, + "source": [ + "#### 04. Change the affiliation of an author" + ] + }, + { + "cell_type": "markdown", + "id": "4e1ab7ca", + "metadata": {}, + "source": [ + "We take a random author to change his/her affiliation to USI. First the author is retrieved, then the dataframe of the new author is created with the modified data according to the new affiliation. Working with Spark, in order to change a single value in a column we need to create a new dataframe without the author and then create another dataframe as its union with the dataframe of the modified author. This is because the DataFrame structure of Spark is immutable." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "62404936", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Before: Author Adnan Abid with affiliation University of Voznesensk\n", + "After: Author Adnan Abid with affiliation USI\n" + ] + } + ], + "source": [ + "author = df_authors.limit(1).collect()[0]\n", + "print(\"Before: Author\", author[\"Name\"], \"with affiliation\", author[\"Affiliation\"])\n", + "\n", + "data_new_author: list[tuple[int, str, str, str, str]] = []\n", + "data_new_author.append((author[\"ID\"], author[\"Name\"], author[\"Email\"], \"USI\", author[\"Bio\"]))\n", + "df_new_author = spark.createDataFrame(data=data_new_author, schema=df_authors.schema)\n", + "\n", + "# remove the old author and add the new one\n", + "df_authors = df_authors.filter((df_authors.ID != author[\"ID\"]))\n", + "df_authors = df_authors.union(df_new_author)\n", + "\n", + "author = df_authors.filter(df_authors.ID == author[\"ID\"]).collect()[0]\n", + "print(\"After: Author\", author[\"Name\"], \"with affiliation\", author[\"Affiliation\"])\n" + ] + }, + { + "cell_type": "markdown", + "id": "1fc59021", + "metadata": {}, + "source": [ + "#### 05. Remove duplicates in all dataframes" + ] + }, + { + "cell_type": "markdown", + "id": "a9dde7ea", + "metadata": {}, + "source": [ + "Since in theory it is possible to have duplicate rows in a Pyspark DataFrame, it could be useful to check their presence and remove them in case some are found. Anyway, the data creation pipeline we designed ensures that the IDs are unique." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "fac9fd2d", + "metadata": {}, + "outputs": [], + "source": [ + "df_articles = df_articles.distinct()\n", + "df_articles_authors = df_articles_authors.distinct()\n", + "df_authors = df_authors.distinct()\n", + "df_journals = df_journals.distinct()\n", + "df_references = df_references.distinct()" + ] + }, + { + "cell_type": "markdown", + "id": "f664b74e", + "metadata": {}, + "source": [ + "### 10 queries with specified complexity" + ] + }, + { + "cell_type": "markdown", + "id": "7bec6b81", + "metadata": {}, + "source": [ + "#### Count the number of internal references to clean" + ] + }, + { + "cell_type": "markdown", + "id": "e235d59f", + "metadata": {}, + "source": [ + "Some internal references may be not present as articles in the database: this can happen after some data change, such as the removal of an article from the database. This query retrieves the number of references with are not present in the database." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "1dc839e3", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " \r" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+-----+\n", + "|count|\n", + "+-----+\n", + "|79610|\n", + "+-----+\n", + "\n" + ] + } + ], + "source": [ + "df_consistent_references = df_references.join(df_articles, df_references.InternalPaperId == df_articles.ID)\\\n", + " .select(\"RefNumber\",\n", + " \"InternalPaperId\",\n", + " df_references.Title,\n", + " \"Authors\",\n", + " \"Journal\",\n", + " df_references.JournalId,\n", + " df_references.Volume,\n", + " df_references.NumberInVolume,\n", + " \"ArticleId\",\n", + " df_references.ID\n", + " )\n", + "\n", + "df_old_references = df_references.subtract(df_consistent_references)\n", + "\n", + "df_old_references.groupBy().count().show()" + ] + }, + { + "cell_type": "markdown", + "id": "f235ffd2", + "metadata": {}, + "source": [ + "#### 01. Retrieve the articles of a journal given the journal's name\n", + "Complexity: WHERE, JOIN" + ] + }, + { + "cell_type": "markdown", + "id": "2ef34446", + "metadata": {}, + "source": [ + "This query starts from a given journal name and retrieves all the articles published on that journal. The performed steps are the following:\n", + "\n", + "- Retrieve the journal ID given the name\n", + "- Join with the articles on the journal ID\n", + "- Drop the columns related to the journal" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "7751ebf8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+-------+--------------------+--------------------+------+--------------+-------------+--------------------+---------+\n", + "| ID| Title| MetadataDate|Volume|NumberInVolume|PagesInVolume| ObjectIds|JournalId|\n", + "+-------+--------------------+--------------------+------+--------------+-------------+--------------------+---------+\n", + "|7154603|Enhancing decisio...|2022-12-18 17:46:...| 24| 6| 2099-2137|[https://doi.org/...| 12790675|\n", + "|7154450|A threat recognit...|2022-12-18 17:46:...| 25| 5| 2109-2138|[https://doi.org/...| 12790675|\n", + "|7154398|Direction-based s...|2022-12-18 17:46:...| 23| 1| 207-239|[https://doi.org/...| 12790675|\n", + "|7153948|Prediction of Web...|2022-12-18 17:46:...| 5| 1| 67-88|[https://doi.org/...| 12790675|\n", + "+-------+--------------------+--------------------+------+--------------+-------------+--------------------+---------+\n", + "\n", + "Execution time: 1.213135004043579\n" + ] + } + ], + "source": [ + "journal_name = \"World Wide Web\"\n", + "\n", + "start_time = time()\n", + "\n", + "df_result = df_journals\\\n", + " .filter(df_journals.Name == journal_name)\\\n", + " .join(df_articles, df_articles.JournalId == df_journals.ID)\\\n", + " .drop(df_journals.ID)\\\n", + " .drop(df_journals.Name)\n", + "df_result.show()\n", + "\n", + "print(f\"Execution time: {time() - start_time}\")" + ] + }, + { + "cell_type": "markdown", + "id": "b1ef6a18", + "metadata": {}, + "source": [ + "#### 02. Retrieve 5 articles without the DOI registered which have been recently published\n", + "Complexity: WHERE, LIMIT, LIKE" + ] + }, + { + "cell_type": "markdown", + "id": "56a6fed0", + "metadata": {}, + "source": [ + "This query retrieves 5 articles for which the DOI is registered in the database and which have been published this year. The steps of the query are the following:\n", + "\n", + "- Explode the ObjectIds column of articles\n", + "- Filter the articles which have been published this year\n", + "- Filter the articles which have an ObjectId containing a DOI reference\n", + "- Limit the query to 5 entries" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "fff244c7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+--------------------+-------------------+--------------------+\n", + "| Title| MetadataDate| ObjectId|\n", + "+--------------------+-------------------+--------------------+\n", + "|Sparse Count Data...|2022-03-16 00:00:00|https://doi.org/1...|\n", + "|Automatic classif...|2022-11-11 00:00:00|https://doi.org/1...|\n", + "|ST-FMT*: A Fast O...|2022-01-08 00:00:00|https://doi.org/1...|\n", + "|DOA estimation al...|2022-08-16 00:00:00|https://doi.org/1...|\n", + "|Uniform convergen...|2022-06-23 00:00:00|https://doi.org/1...|\n", + "+--------------------+-------------------+--------------------+\n", + "\n", + "Execution time: 1.1717472076416016\n" + ] + } + ], + "source": [ + "start_time = time()\n", + "\n", + "df_result = df_articles\\\n", + " .select(col(\"Title\"), col(\"MetadataDate\"), explode(\"ObjectIds\"))\\\n", + " .withColumnRenamed(\"col\", \"ObjectId\")\\\n", + " .filter(df_articles.MetadataDate > datetime(datetime.now().year, 1, 1))\\\n", + " .filter(col(\"ObjectId\").startswith(\"https://doi.org/\"))\\\n", + " .limit(5)\n", + "\n", + "df_result.show()\n", + "\n", + "print(f\"Execution time: {time() - start_time}\")" + ] + }, + { + "cell_type": "markdown", + "id": "2155ef91", + "metadata": {}, + "source": [ + "#### 03. Articles of the authors with a given affiliation\n", + "Complexity: WHERE, IN, Nested Query" + ] + }, + { + "cell_type": "markdown", + "id": "4c584adc", + "metadata": {}, + "source": [ + "This query retrieves all the articles with some author related to a given affiliation. The steps of the query are the following:\n", + "\n", + "- Filter the authors with the given affiliation and create a list\n", + "- Filter the bridge table between authors and articles with author IDs in the previous list, and create a list of article IDs out of them\n", + "- Filter the articles DataFrame with the article ID in the just created list, and select the name of the articles" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "36cb22c4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n", + "|Title |\n", + "+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n", + "|Almost winning: Induced MEG theta power in insula and orbitofrontal cortex increases during gambling near-misses and is associated with BOLD signal and gambling severity.|\n", + "+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n", + "\n", + "Execution time: 2.1684679985046387\n" + ] + } + ], + "source": [ + "affiliation = \"University of Vernon\"\n", + "\n", + "start_time = time()\n", + "\n", + "df_authors_of_affiliation = df_authors\\\n", + " .filter(df_authors.Affiliation == affiliation)\n", + "\n", + "authors_of_affiliation = [author[\"ID\"] for author in df_authors_of_affiliation.collect()]\n", + "\n", + "df_articles_of_authors_of_affiliation = df_articles_authors\\\n", + " .join(df_articles, df_articles[\"ID\"] == df_articles_authors[\"ArticleId\"], 'inner') \\\n", + " .filter(df_articles_authors.AuthorId.isin(authors_of_affiliation)) \\\n", + " .select(\"ArticleId\")\n", + "\n", + "articles_of_authors_of_affiliation = [article[\"ArticleId\"] for article in df_articles_of_authors_of_affiliation.collect()]\n", + "\n", + "df_result = df_articles\\\n", + " .filter(df_articles.ID.isin(articles_of_authors_of_affiliation))\\\n", + " .select(df_articles.Title)\n", + "\n", + "df_result.show(truncate=False)\n", + "\n", + "print(f\"Execution time: {time() - start_time}\")" + ] + }, + { + "cell_type": "markdown", + "id": "8eeafcd4", + "metadata": {}, + "source": [ + "#### 04. Count the number of publications on a few journals\n", + "Complexity: GROUP BY, JOIN, AS" + ] + }, + { + "cell_type": "markdown", + "id": "7bd04f9a", + "metadata": {}, + "source": [ + "This query counts the publications on each element of a list of journals. The steps of the query are the following:\n", + "\n", + "- Filter the journal DataFrame for journals in the given list\n", + "- Join with articles on journal ID\n", + "- Group by journal name (journal ID works as well)\n", + "- Count the entries for each journal name" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "2fb014e8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+--------------+------------+\n", + "| Name|Publications|\n", + "+--------------+------------+\n", + "|World Wide Web| 4|\n", + "+--------------+------------+\n", + "\n", + "Execution time: 1.2528290748596191\n" + ] + } + ], + "source": [ + "journal_names = [\"World Wide Web\", \"SIGMOD Record\"]\n", + "\n", + "start_time = time()\n", + "\n", + "df_result = df_journals\\\n", + " .filter(df_journals.Name.isin(journal_names))\\\n", + " .join(df_articles, df_journals.ID == df_articles.JournalId, \"inner\")\\\n", + " .groupBy(df_journals.Name)\\\n", + " .count()\\\n", + " .withColumnRenamed(\"count\", \"Publications\")\n", + "\n", + "df_result.show()\n", + "\n", + "print(f\"Execution time: {time() - start_time}\")" + ] + }, + { + "cell_type": "markdown", + "id": "e45e4b3e", + "metadata": {}, + "source": [ + "#### 05. Count the registered contacts for each affiliation\n", + "Complexity: WHERE, GROUP BY" + ] + }, + { + "cell_type": "markdown", + "id": "2b8e28aa", + "metadata": {}, + "source": [ + "This query counts how many authors for each affiliation have a registered email, from which they can be contacted. The steps of the query are the following:\n", + "\n", + "- Filter the authors who have a registered email\n", + "- Group by affiliation\n", + "- Count the number of entries for each affiliation" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "72d13b51", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+--------------------+------------------+\n", + "| Affiliation|Number of contacts|\n", + "+--------------------+------------------+\n", + "|University of Parola| 61|\n", + "|University of Ksa...| 63|\n", + "|University of Pri...| 83|\n", + "|University of Vahdat| 122|\n", + "| University of Ina| 128|\n", + "| University of Split| 57|\n", + "|University of Bat...| 52|\n", + "|University of Gua...| 71|\n", + "|University of Nonsan| 73|\n", + "|University of Dav...| 73|\n", + "|University of Pal...| 58|\n", + "|University of Kas...| 129|\n", + "|University of Sai...| 54|\n", + "|University of Pil...| 73|\n", + "|University of Sch...| 51|\n", + "|University of Mar...| 58|\n", + "|University of Alb...| 66|\n", + "|University of Mar...| 58|\n", + "|University of Wes...| 59|\n", + "|University of Hun...| 172|\n", + "+--------------------+------------------+\n", + "only showing top 20 rows\n", + "\n", + "Execution time: 0.532426118850708\n" + ] + } + ], + "source": [ + "start_time = time()\n", + "\n", + "df_result = df_authors\\\n", + " .filter(df_authors.Email.isNotNull())\\\n", + " .groupBy(df_authors.Affiliation)\\\n", + " .count()\\\n", + " .withColumnRenamed(\"count\", \"Number of contacts\")\n", + "\n", + "df_result.show()\n", + "\n", + "print(f\"Execution time: {time() - start_time}\")" + ] + }, + { + "cell_type": "markdown", + "id": "b6ddd156", + "metadata": {}, + "source": [ + "#### 06. Journals with many publications\n", + "Complexity: GROUP BY, HAVING, AS" + ] + }, + { + "cell_type": "markdown", + "id": "5a91be9f", + "metadata": {}, + "source": [ + "This query retrieves the IDs of the journals for which more than 5 publications are registered in the database. The steps are the following:\n", + "\n", + "- Group articles by journal ID\n", + "- Count the entries for each group\n", + "- Filter the entries with more than 5 publications" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "42fa5350", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+---------+----------------------+\n", + "|JournalId|Number of publications|\n", + "+---------+----------------------+\n", + "| 12792492| 21|\n", + "| 12791222| 6|\n", + "| 12791288| 23|\n", + "| 12792037| 24|\n", + "| 12791371| 22|\n", + "| 12791712| 6|\n", + "| 12791500| 6|\n", + "| 12791219| 8|\n", + "| 12790733| 10|\n", + "| 12792375| 9|\n", + "| 12790705| 48|\n", + "| 12791668| 11|\n", + "| 12792121| 6|\n", + "| 12790862| 19|\n", + "| 12792462| 16|\n", + "| 12790945| 45|\n", + "| 12790804| 11|\n", + "| 12791047| 14|\n", + "| 12792154| 19|\n", + "| 12791637| 15|\n", + "+---------+----------------------+\n", + "only showing top 20 rows\n", + "\n", + "Execution time: 1.3681659698486328\n" + ] + } + ], + "source": [ + "start_time = time()\n", + "\n", + "df_result = df_articles\\\n", + " .groupBy(df_articles.JournalId)\\\n", + " .agg(count(df_articles.ID).alias(\"Number of publications\"))\\\n", + " .filter(col(\"Number of publications\") > 5)\n", + " \n", + "df_result.show()\n", + "\n", + "print(f\"Execution time: {time() - start_time}\")" + ] + }, + { + "cell_type": "markdown", + "id": "b26b365d", + "metadata": {}, + "source": [ + "#### 07. Registered references with volume cited only once\n", + "Complexity: WHERE, GROUP BY, HAVING, AS" + ] + }, + { + "cell_type": "markdown", + "id": "4197fa8b", + "metadata": {}, + "source": [ + "This query retrieves the citations which refer to an article registered in the database and which are the only ones for a specific volume of a journal. The steps are the following:\n", + "\n", + "- Filter the references which have an internal paper id (they do refer to a registered article)\n", + "- Group by journal and volume\n", + "- Count the entries for each combination of journal and volume\n", + "- Filter the combinations with only one citation" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "e11d2db7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+--------------------+--------------+---------+\n", + "| Journal| Volume|Citations|\n", + "+--------------------+--------------+---------+\n", + "| J. Appl. Log.| 15| 1|\n", + "|Model. Assist. St...| 14| 1|\n", + "|J. Optim. Theory ...| 190| 1|\n", + "|Multimodal Techno...| 5| 1|\n", + "|Math. Comput. Model.| 50| 1|\n", + "| J. Sensors| 2018| 1|\n", + "|Comput. Commun. Rev.| 31| 1|\n", + "|Discuss. Math. Gr...| 32| 1|\n", + "| SIGACT News| 41| 1|\n", + "| Comput. Chem. Eng.| 121| 1|\n", + "|Int. J. Bus. Inf....| 25| 1|\n", + "| Scientometrics| 2| 1|\n", + "|J. Inf. Process. ...| 20| 1|\n", + "| J. Sensors| 2021| 1|\n", + "| Computing| 64| 1|\n", + "| IET Image Process.| 12| 1|\n", + "| Robotica| 37| 1|\n", + "|IEEE Wirel. Commu...| 3| 1|\n", + "| CoRR|abs/1903.09080| 1|\n", + "|IEEE Signal Proce...| 22| 1|\n", + "+--------------------+--------------+---------+\n", + "only showing top 20 rows\n", + "\n", + "Execution time: 0.7499880790710449\n" + ] + } + ], + "source": [ + "start_time = time()\n", + "\n", + "df_result = df_references\\\n", + " .filter(df_references.InternalPaperId.isNotNull())\\\n", + " .groupBy(df_references.Journal, df_references.Volume)\\\n", + " .agg(count(df_references.ID).alias(\"Citations\"))\\\n", + " .filter(col(\"Citations\") == 1)\n", + "\n", + "df_result.show()\n", + "\n", + "print(f\"Execution time: {time() - start_time}\")" + ] + }, + { + "cell_type": "markdown", + "id": "de6151b5", + "metadata": {}, + "source": [ + "#### 08. Number of citations for each author of an affiliation\n", + "Complexity: WHERE, Nested Query, GROUP BY" + ] + }, + { + "cell_type": "markdown", + "id": "3416276b", + "metadata": {}, + "source": [ + "This query retrieves the number of citations for each author of a given affiliation. The steps are the following:\n", + "\n", + "- Filter authors of the given affiliation and create a list of author names\n", + "- Explode authors in references\n", + "- Filter references of authors in the list\n", + "- Group by author\n", + "- Count the number of entries" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "2340405c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "+--------------------+---------+\n", + "| Author|Citations|\n", + "+--------------------+---------+\n", + "| Tatiana Glotova| 1|\n", + "| Charles H. Knapp| 6|\n", + "| Jonathan Huang| 3|\n", + "|Md. Jahangir Hoss...| 5|\n", + "| Xiaoli Wang| 2|\n", + "|Abdon E. Choque R...| 4|\n", + "| Zhen Xu| 4|\n", + "| Qinglai Guo| 2|\n", + "| Hugh E. Williams| 2|\n", + "| Sotirios Brotsis| 4|\n", + "| Ryan Cordell| 5|\n", + "| James Guo Ming Fu| 8|\n", + "| Pavel A. Brodskiy| 4|\n", + "| Shuai Zheng| 7|\n", + "| Danya Song| 10|\n", + "| Alexander Roßnagel| 4|\n", + "| Rajendra Kumar| 6|\n", + "| Stefan Buckreuss| 3|\n", + "| Yupu Yang| 2|\n", + "| Yi Liu 0053| 4|\n", + "+--------------------+---------+\n", + "only showing top 20 rows\n", + "\n", + "Execution time: 1.0813488960266113\n" + ] + } + ], + "source": [ + "affiliation = \"University of Gorakhpur\"\n", + "\n", + "start_time = time()\n", + "\n", + "df_sub_result = df_authors\\\n", + " .filter(col(\"Affiliation\") == affiliation)\n", + "\n", + "sub_result = [author[\"Name\"] for author in df_sub_result.collect()]\n", + "\n", + "df_result = df_references\\\n", + " .select(df_references.Title, explode(df_references.Authors).alias(\"Author\"))\\\n", + " .filter(col(\"Author\").isin(sub_result))\\\n", + " .groupBy(col(\"Author\"))\\\n", + " .agg(count(df_references.Title).alias(\"Citations\"))\n", + "\n", + "df_result.show()\n", + "\n", + "print(f\"Execution time: {time() - start_time}\")" + ] + }, + { + "cell_type": "markdown", + "id": "dd307eee", + "metadata": {}, + "source": [ + "#### 09. Titles of internal journals with a reference count in \\[200, 1000)\n", + "Complexity: WHERE, GROUP BY, HAVING, 1 JOIN" + ] + }, + { + "cell_type": "markdown", + "id": "62874b5a", + "metadata": {}, + "source": [ + "This query computes the names of the journals that have between 200 and 999 references in the dataset. Results are returned in decreasing order of the reference count. The steps are the following:\n", + "\n", + "- Filter for internal references (i.e. when the journal id is not NULL);\n", + "- Group references by internal journal id;\n", + "- Count references and filter for the \\[200,1000) range;\n", + "- Perform an INNER JOIN with the journals dataframe;\n", + "- Select the name and the count." + ] + }, + { + "cell_type": "code", + "execution_count": 123, + "id": "80a5d4ea", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Execution time: 0.8328709602355957\n", + "[Row(Name='IEEE Access', count=848), Row(Name='Sensors', count=643), Row(Name='Remote. Sens.', count=367), Row(Name='NeuroImage', count=294), Row(Name='IACR Cryptol. ePrint Arch.', count=288), Row(Name='Neurocomputing', count=276), Row(Name='Appl. Math. Comput.', count=269), Row(Name='Expert Syst. Appl.', count=248), Row(Name='Discret. Math.', count=231), Row(Name='IEEE Trans. Geosci. Remote. Sens.', count=229), Row(Name='Eur. J. Oper. Res.', count=227), Row(Name='IEEE Trans. Commun.', count=222), Row(Name='IEEE Trans. Signal Process.', count=211)]\n" + ] + } + ], + "source": [ + "start_time = time()\n", + "\n", + "result = df_references \\\n", + " .filter(F.col(\"JournalId\").isNotNull()) \\\n", + " .groupBy(\"JournalId\") \\\n", + " .count() \\\n", + " .filter((F.col(\"count\") >= 200) & (F.col(\"count\") < 1000)) \\\n", + " .join(df_journals, df_journals[\"Id\"] == F.col(\"JournalId\"), 'inner') \\\n", + " .select(\"Name\", \"count\") \\\n", + " .sort(F.col(\"count\").desc()) \\\n", + " .collect()\n", + "\n", + "print(f\"Execution time: {time() - start_time}\")\n", + "\n", + "print(result)" + ] + }, + { + "cell_type": "markdown", + "id": "b2b86356", + "metadata": {}, + "source": [ + "#### 10. Top 5 authors by published articles \n", + "Complexity: WHERE, GROUP BY, HAVING, 2 JOINs" + ] + }, + { + "cell_type": "markdown", + "id": "b8b2b6d0", + "metadata": {}, + "source": [ + "This cell computes the top 5 authors by number of articles published in the last 3000 articles (by ID) in the dataset. We also require the number of articles published to be greater than 1. The steps are the following:\n", + "\n", + "- Filter for the last 3000 rows of the dataset;\n", + "- Inner join with the articles-authors dataframe;\n", + "- Group by author id;\n", + "- Join with the authors dataframe;\n", + "- Filter by count greater than 1;\n", + "- Select name and count;\n", + "- Sort and limit to 5." + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "id": "70e4a346", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Stage 2138:==========================================> (3 + 1) / 4]\r" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Execution time: 29.39945387840271\n", + "[Row(Name='H. Vincent Poor', count=9), Row(Name='Mohamed-Slim Alouini', count=6), Row(Name='Licheng Jiao', count=6), Row(Name='Kim-Kwang Raymond Choo', count=6), Row(Name='Sam Kwong', count=6)]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\r", + " \r" + ] + } + ], + "source": [ + "start_time = time()\n", + "\n", + "result = df_articles \\\n", + " .filter(F.col(\"ID\") > 7000) \\\n", + " .join(df_articles_authors, df_articles_authors[\"ArticleId\"] == F.col(\"ID\")) \\\n", + " .drop(\"ID\") \\\n", + " .groupBy(\"AuthorId\") \\\n", + " .count() \\\n", + " .join(df_authors, df_authors[\"ID\"] == F.col(\"AuthorId\")) \\\n", + " .filter(F.col(\"count\") >= 2) \\\n", + " .select(\"Name\", \"count\") \\\n", + " .sort(F.col(\"Count\").desc()) \\\n", + " .limit(5) \\\n", + " .collect()\n", + "\n", + "print(f\"Execution time: {time() - start_time}\")\n", + "\n", + "print(result)" + ] + } + ], + "metadata": { + "authors": [ + { + "name": "Claudio Maggioni" + }, + { + "name": "Lorenzo Martignetti" + } + ], + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.8" + }, + "title": "Data Design and Modelling -- Project Work Part 3", + "vscode": { + "interpreter": { + "hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1" + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}

(t2Fs4-iv7Y<&LNU?aDMJm6vfZrkO) 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˛&4Z67)80mx8_LdHsZXQ^^U^I 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