Spark - 创建表并插入常量值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark - 创建表并插入常量值相关的知识,希望对你有一定的参考价值。

使用spark shell创建一行的临时表的最简单方法是什么?我试过插入,但RDD只写一次,对吧?我尝试了以下几行,但火花对第二行非常不满意。

spark.sql("CREATE TEMPORARY VIEW CAT (PAWS INT) USING PARQUET")
spark.sql("INSERT INTO CAT VALUES 4")

我该怎么做呢?我想要一个内存表,就像我从csv读取它一样。任何提示?

答案

这对你有用吗?

scala> val res = List(4).toDF("Paws")
res: org.apache.spark.sql.DataFrame = [Paws: int]

scala> res.show()
+----+
|Paws|
+----+
|   4|
+----+
scala> res.createOrReplaceTempView("CAT")
另一答案

使用DataFrame首先创建表 -

 val df = spark.createDataFrame(Seq(
        ("gyg1", 1, 1, 1, 1),
        ("gyg1", 2, 2, 2, 2),
        ("gyg2", 3, 3, 3, 3),
        ("gyg3", 4, 4, 4, 4),
        ("gyg3", 5, 5, 5, 5),
        ("gyg5", 6, 6, 6, 6)
      )).toDF("id", "a", "b", "c", "d")
// Creates a temporary view using the DataFrame.
df.createOrReplaceTempView("df")

// SQL statements can be run by using the sql methods provided by sqlContext.
val results = sqlContext.sql("SELECT name FROM df")

在这里查看更多https://spark.apache.org/docs/preview/sql-programming-guide.html

以上是关于Spark - 创建表并插入常量值的主要内容,如果未能解决你的问题,请参考以下文章

SQL的新手。无法创建表并插入值

如何在 postgres 中创建表并插入具有动态值的数据

如何避免 Spark executor 丢失以及由于内存限制而导致纱线容器杀死它?

使用雪花中的合并将值插入表并根据条件删除行

将数据插入一个表并更新另一个表

自动创建表并从 json 文件插入数据