def load_json_spark(data_path, spark, list_expr, fill_na):
    """load json file using spark

    Args:
        data_path (str): path to json file
        spark (SparkSession): spark session
        list_expr (list[str]): list of expressions extracting nested json fields to create dataframe columns
        fill_na (dict): mapping with column name -> replacement value, for filling missing values

    Returns:
        DataFrame: loaded json as dataframe
    """
    return spark.read.json(data_path)\
        .selectExpr(*list_expr)\
        .fillna(fill_na)