blob: 3aca0f042c796b1d92ff45a55bc7921b73638dbb [file]
import os
import pyspark.sql as ps
from hamilton.function_modifiers import load_from, parameterize, source, value
@parameterize(
customer_path={"suffix": value("customer.tbl")},
lineitem_path={"suffix": value("lineitem.tbl")},
nation_path={"suffix": value("nation.tbl")},
orders_path={"suffix": value("orders.tbl")},
part_path={"suffix": value("part.tbl")},
partsupp_path={"suffix": value("partsupp.tbl")},
region_path={"suffix": value("region.tbl")},
supplier_path={"suffix": value("supplier.tbl")},
)
def paths(suffix: str, data_dir: str) -> str:
return os.path.join(data_dir, suffix)
@load_from.csv(path=source("customer_path"), sep=value("|"), spark=source("spark"))
def customer(df: ps.DataFrame) -> ps.DataFrame:
return df
# TODO -- parameterize these, but this is fine for now
@load_from.csv(path=source("lineitem_path"), sep=value("|"), spark=source("spark"))
def lineitem(df: ps.DataFrame) -> ps.DataFrame:
return df
@load_from.csv(path=source("nation_path"), sep=value("|"), spark=source("spark"))
def nation(df: ps.DataFrame) -> ps.DataFrame:
return df
@load_from.csv(path=source("orders_path"), sep=value("|"), spark=source("spark"))
def orders(df: ps.DataFrame) -> ps.DataFrame:
return df
@load_from.csv(path=source("part_path"), sep=value("|"), spark=source("spark"))
def part(df: ps.DataFrame) -> ps.DataFrame:
return df
@load_from.csv(path=source("partsupp_path"), sep=value("|"), spark=source("spark"))
def partsupp(df: ps.DataFrame) -> ps.DataFrame:
return df
@load_from.csv(path=source("region_path"), sep=value("|"), spark=source("spark"))
def region(df: ps.DataFrame) -> ps.DataFrame:
return df
@load_from.csv(path=source("supplier_path"), sep=value("|"), spark=source("spark"))
def supplier(df: ps.DataFrame) -> ps.DataFrame:
return df