我试图在SPARK SQL中读取和执行sql。
sqlContext.sql(scala.io.Source.fromInputStream(getClass.getResourceAsStream("/" + "dq.sql")).getLines.mkString(" ").stripMargin).take(1)
我的sql很长。当我在火花壳中直接运行时,运行正常。当我尝试使用getResourcesAsStream读取它时 - 我正在点击
java.lang.RuntimeException: [1.10930] failure: end of input
答案 0 :(得分:0)
一个简单的解决方案是在驱动程序上读取sql(使用任何文件实用程序)并传递变量,如ssc.sql(sqlvar)
答案 1 :(得分:0)
val stream : InputStream = getClass.getResourceAsStream("/filename.txt")
val readFile = scala.io.Source.fromInputStream( stream ).getLines
val spa = readFile.map(line => " " + line)
val spl = spa.mkString.split(";")
for (m1 <- spl) {
sqlContext.sql(m1)
}