def METHOD_NAME():
    data_lake_name = str(sys.argv[1]).strip()
    file_path = sys.argv[2]
    result_path = sys.argv[3]
    if not file_path.startswith("/"):
        print(f"Expected absolute path, got relative: {file_path}")
        exit(1)
    if not result_path.startswith("/"):
        print(f"Expected absolute path, got relative: {result_path}")
        exit(1)
    spark = None
    if data_lake_name == "iceberg":
        spark = get_spark_for_iceberg(result_path)
        spark.conf.set("spark.sql.debug.maxToStringFields", 100000)
        spark.read.load(f"file://{file_path}").writeTo("iceberg_table").using(
            "iceberg"
        ).create()
    elif data_lake_name == "delta":
        spark = get_spark_for_delta()
        spark.conf.set("spark.sql.debug.maxToStringFields", 100000)
        spark.read.load(f"file://{file_path}").write.mode("overwrite").option(
            "compression", "none"
        ).format("delta").option("delta.columnMapping.mode", "name").save(result_path)
    elif data_lake_name == "hudi":
        spark = get_spark_for_hudi()
        spark.conf.set("spark.sql.debug.maxToStringFields", 100000)
        spark.read.load(f"file://{file_path}").write.mode("overwrite").option(
            "compression", "none"
        ).format("hudi").option("hoodie.table.name", "hudi").option(
            "hoodie.datasource.write.partitionpath.field", "partitionpath"
        ).option(
            "hoodie.datasource.write.table.name", "hudi"
        ).option(
            "hoodie.datasource.write.recordkey.field", "ts"
        ).option(
            "hoodie.datasource.write.precombine.field", "ts"
        ).option(
            "hoodie.datasource.write.operation", "insert_overwrite"
        ).save(
            result_path
        )
    else:
        print(
            f"Unknown data lake name {data_lake_name}. Support only: 'iceberg', 'delta'"
        )
        exit(1)