基础代码:
import java.io.File
import org.apache.spark.sql.Row
import org.apache.spark.sql.SparkSession
case class Record(key: Int, value: String)
val warehouseLocation = new File("spark-warehouse").getAbsolutePath
val spark = SparkSession
.builder()
.appName("Spark Hive Example")
//.config("spark.sql.warehouse.dir", warehouseLocation)
.master("local[1]")
.enableHiveSupport()
.getOrCreate()
import spark.implicits._
import spark.sql
sql("CREATE TABLE IF NOT EXISTS src (key INT, value STRING)")
sql("LOAD DATA LOCAL INPATH 'examples/src/main/resources/kv1.txt' INTO TABLE src")
sql("SELECT * FROM src").show()
sql("SELECT COUNT(*) FROM src").show()
上面所写的就是基本的代码,但是直接在IDEA上运行会产生一些错误。所以需要一些修改。
要让其能够运行,我们需要将core-site.xml,hdfs-site.xml和hive-site.xml导入到IDEA中的resources中。这样可以指定hive的数据存放在哪,以防IDEA到计算机的本地路径下去拿数据。
这时候有可能会出现有关于用户名的问题