我是spark的新手,尝试使用hortonworks沙盒在tpcds基准表上运行一些查询。http://www.tpc.org/tpcds/ 在沙盒上通过shell或配置单元视图使用配置单元时没有问题。问题是,如果我想使用spark,我不知道如何连接到数据库。如何使用spark中的配置单元数据库来运行查询?到目前为止,我知道的唯一解决方案是手动重建每个表,并使用下面的scala代码在其中加载数据,这不是最佳解决方案。
scala> val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
scala> sqlContext.sql("CREATE TABLE IF NOT EXISTS employee(id INT, name STRING, age INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'")
scala> sqlContext.sql("LOAD DATA LOCAL INPATH 'employee.txt' INTO TABLE employee")
scala> val result = sqlContext.sql("FROM employe SELECT id, name, age")
scala> result.show()
我也读了一些关于hive-site.xml的文章,但我不知道在哪里可以找到它,也不知道要对它做什么更改才能连接到数据库。
1条答案
按热度按时间iecba09b1#
使用spark和hivecontext时,不需要连接到特定的数据库。
您只需将“hive site.xml”文件复制到spark conf文件夹(也可以创建一个符号链接)。
然后,在spark中,您可以这样做(我不是scala用户,所以语法可能是错误的):