需要依赖:
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<version>6.1.26</version>
</dependency>
具体实现(scala):
import javax.servlet.http.{HttpServletRequest, HttpServletResponse} import org.apache.spark.sql.SparkSession import org.mortbay.jetty.{Connector, HttpStatus, Request, Server} import org.mortbay.jetty.handler._ import org.mortbay.jetty.nio.SelectChannelConnector object http_spark extends AbstractHandler { val ss= SparkSession.builder().appName("category").config("spark.cores.max","4").getOrCreate() override def handle(target: String, request: HttpServletRequest, response: HttpServletResponse, dispatch: Int): Unit = { response.setContentType("text/html;charset=UTF-8") response.setStatus(HttpStatus.ORDINAL_200_OK); val nid = request.getParameter("nid") val category = request.getParameter("type") val df = ss.read.parquet(s"/UZ2/Category_data_high2/${category}/*") val c = new category_pipe(nid,df,ss) val result = c.result val str =result.toJSON.collect().mkString(",") response.getWriter().write(s"[${str}]"); request.asInstanceOf[Request].setHandled(true) response.getWriter.close() } def main(args: Array[String]): Unit = { val connector = new SelectChannelConnector() connector.setHost(args(0)) connector.setPort(args(1).toInt) val server=new Server() server.addConnector(connector) server.setHandler(this) server.start() } }参考链接:http://www.bubuko.com/infodetail-452148.html
https://www.cnblogs.com/garfieldcgf/p/5530306.html