我已经开始在我的eclipse上使用spark2.0,通过创建一个maven项目并获得所有最新的依赖关系。我可以毫无问题地运行配置单元查询。我担心的是spark会为hive创建另一个仓库,而不使用我想要的数据仓库。因此,我服务器上的所有配置单元表,我无法将这些配置单元表读入spark数据集并进行任何转换。我只能创建和处理新表,但我想在配置单元中读取我的表。
my hive-site.xml:-
<configuration><property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value>
<description>metadata is stored in a MySQL server</description></property> <property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>MySQL JDBC driver class</description></property><property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hiveuser</value>
<description>user name for connecting to mysql server</description></property><property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password for connecting to mysql server</description></property><property>
<name>hive.metastore.warehouse.dir</name>
<value>/usr/local/Cellar/hive–1.1.0/apache-hive-1.1.0-bin/spark-warehouse</value>
<description>location of default database for the warehouse</description></property></configuration>
3条答案
按热度按时间vyu0f0g11#
在hive-site.xml add中,
重新启动配置单元服务
然后设置,
1) 将hive-site.xml从$hive\u conf dir复制到$spark\u conf dir
或2)
evrscar22#
你应该进去
spark-defaults.conf
:spark.sql.warehouse.dir hdfs://MA:8020/user/hive/warehouse
从http://spark.apache.org/docs/latest/sql-data-sources-hive-tables.htmlqf9go6mv3#
据我所知,你可以从Hive/直线查询你不能用spark程序查询同一个表
你可以打印所有的配置来验证你的spark程序。
由于您使用的是spark 2.0,请验证以下spark会话
sparksession将“catalog”公开为一个公共示例,该示例包含使用元存储的方法(即数据目录)。由于这些方法返回数据集,因此可以使用数据集api访问或查看数据。
也可以在下面试试
然后打印
spark.conf.getAll().mkString("\n"))
您可以查看Hive属性(如hive.metastore.warehouse.dir
或者hive.metastore.uris
)它们位于hive-site.xml中,具有上述属性。