gpt4 book ai didi

apache-spark - 如何在 Spark 中定义传入文件的文件命名约定

转载 作者:可可西里 更新时间:2023-11-01 15:49:41 24 4
gpt4 key购买 nike

我在 hdfs 中实时接收文件,它们具有相同的命名约定。

id_name_..._timestamp

我能否以某种方式在 spark (scala) 上定义此命名约定,以便稍后我可以将这些与 ID 进行比较?

谢谢

最佳答案

你使用这样的东西:

注册udf

spark.udf()
.register("get_only_file_name", (String fullPath) -> {
int lastIndex = fullPath.lastIndexOf("/");
return fullPath.substring(lastIndex, fullPath.length - 1);
}, DataTypes.StringType);

导入 org.apache.spark.sql.functions.input_file_name

#use the udf to get last token(filename) in full path
Dataset<Row> initialDs = spark.read()
.option("dateFormat", conf.dateFormat)
.schema(conf.schema)
.csv(conf.path)
.withColumn("input_file_name", get_only_file_name(input_file_name()));

关于apache-spark - 如何在 Spark 中定义传入文件的文件命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51059113/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com