【发布时间】:2020-08-26 20:53:57
【问题描述】:
我有两组文件和架构,我想在一组代码中运行它。
这是我的代码:
val file_path = "file1" // I want to pass two files (file1, file2)
val rdd = spark.sparkContext.wholeTextFiles(file_path)
val validJsonRdd = rdd.flatMap(_._2.replace(" ", "").replace("\n", "").replace(":value", ":\"value\"").replace("}{", "}\n{").split("\n"))
val dataframe = spark
.read
.option("multiLine", true)
.schema(Schema1) // I want to put schema1 for file1 and schema2 for file2
.json(validJsonRdd)
.show()
所以按照上面的代码,我想运行两个不同的模式和它们对应的文件。
【问题讨论】:
-
在您的 spark 作业中传递文件位置(file1 或 file2)和 schemahint(true 或 false)作为命令参数并相应地使用它...如果 schemahint 为 true,则在您的代码中设置 Schema1,否则设置 Schema2。
-
我完全不熟悉它,我可以得到一个样本 sn-p
标签: scala apache-spark