spark sql操作hive sql 和mysql

spark sql访问hive 和 mysql(不断更新)

一,准备工作:

1,添加mysql的驱动jar包。
将mysql-connector-java-5.0.6-bin.jar 添加到 SPARK_HOME/lib/目录下.

将$HIVE_HOME/lib下的mysql-connector-java-5.1.27.jar复制到~/software文件夹下 (这一步是为了spark-shell可以使用)

2, 增加SPARK_HOME/conf目录下的文件:

hive的hive-site.xml, hadoop的core-site.xml(为安全起见),hdfs-site.xml(为HDFS配置)。

修改hive-site.xml



  hive.metastore.uris
  thrift://localhost:9083


若报错此文件先注释

二,启动hadoop

三,启动spark

./spark-shell --master local[2] --jars /opt/software/mysql-connector-java-5.1.38.jar

四,启动hive

发现错误 FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

  • 解决:在hive/conf/hive-site.xml 添加配置

    datanucleus.schema.autoCreateAll true

    删除mysql中的元数据表

    再次创建元数据表 注:名字一样保证配置文件不需要修改

    初始化元数据 /soft/hive/conf]$ schematool -dbType mysql -initSchema

你可能感兴趣的:(spark)