Java 如何使用SparkSQL将值插入配置单元?
我正在尝试使用SparkSQL将值插入配置单元表。我将值存储在列表中,并尝试使用字符串插入Java 如何使用SparkSQL将值插入配置单元?,java,apache-spark,hive,apache-spark-sql,Java,Apache Spark,Hive,Apache Spark Sql,我正在尝试使用SparkSQL将值插入配置单元表。我将值存储在列表中,并尝试使用字符串插入 SparkSession spark = SparkSession .builder() .appName("Spark + Hive + sentiment Analyzer") .master("local[*]") .config("hive.metastore.uris
SparkSession spark = SparkSession
.builder()
.appName("Spark + Hive + sentiment Analyzer")
.master("local[*]")
.config("hive.metastore.uris","thrift://localhost:9083")
.enableHiveSupport()
.getOrCreate();
spark.sql("create table if not exists output (srno int, values_string string)");
for(String str: nameAndCity){
//System.out.println(str);
str = str.replaceAll("\"","'");
spark.sql("insert into output values(" + i +","+ "'"+ str+"'"+")");
i++;
}
我有包含双引号
、单引号
和其他字符的字符串。我试图取消双引号
,但现在无法使用。我得到以下错误:
Exception in thread "main" java.lang.NullPointerException
at spark.main(spark.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
17/03/04 16:55:50 INFO SparkContext: Invoking stop() from shutdown hook
17/03/04 16:55:50 INFO SparkUI: Stopped Spark web UI at http://10.0.0.15:4040
17/03/04 16:55:50 INFO MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped!
17/03/04 16:55:50 INFO MemoryStore: MemoryStore cleared
请让我知道我应该如何灵活地运行我的代码?请推荐我。输入如下:
Mary let you win.
"Pleasant day to play football"
Don't worry go home now.
We ---- Will have conversation with you for sure. Relax.
还有许多其他人尝试使用它:-spark.sql(“插入到表输出值(“+i+”,“+str+”)”);如果这不能解决您的问题,那么请提供无意义的内容。@AshishSingh当然可以。我将在这里写入输入字符串。