我有两组文件和模式,我想在一组代码中运行它们。
这是我的密码:
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()
因此,根据上面的代码,我想运行两个不同的模式及其相应的文件。
1条答案
按热度按时间46scxncf1#
您可以将应用程序参数传递到spark submit中,如下所示。。
spark-submit的通用语法
您可以使用file.txtschema1.txt(或)file1.txtscehma2.txt来代替[application arguments]
file.txt是第一个参数,schema1.txt是第二个参数。
在应用程序代码中,可以
参考文献:
https://github.com/zalando-incubator/spark-json-schema
https://spark.apache.org/docs/latest/submitting-applications.html