0


学习Spark遇到的问题

1.【报错】AttributeError: ‘SparkContext’ object has no attribute ‘setcheckpointDir’

本人传参:

    conf = SparkConf().setAppName("test").setMaster("local[*]")
    sc = SparkContext(conf=conf)# 1.告知spark,开启CheckPoint功能
    sc.setcheckpointDir("hdfs://node1:8020/output/ckp")

分析:SparkContext找不到setcheckpointDir方法,参数传参错误
解决:将setcheckpointDir改成setCheckpointDir,其中c字母大写。是因为两个方法的传参不同导致

2.【报错】Spark on Hive:Table or view ‘xxx’ already exists in database ‘default’

确认是有创建的table,但是

show tables;

的时候不展示
分析:没有建立Spark和Hive之间的连接
解决:建立连接

  1. 进入spark的配置(/export/server/spark/conf),编辑hive-site.xml文件
<configuration><!--告知Spark创建表存到哪里 --><property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value></property><property><name>hive.metastore.local</name><value>false</value></property><!--告知Spark Hive的MetaStore在哪   node1中安装了hive,所以路径从node1找 --><property><name>hive.metastore.uris</name><value>thrift://node1:9083</value></property></configuration>
  1. 进入hive的配置(/export/server/hive/conf),编辑hive-site.xml文件
<configuration><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://node1:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</value></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value></property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><property><name>javax.jdo.option.ConnectionPassword</name><value>你设置数据库的密码</value></property><property><name>hive.server2.thrift.bind.host</name><value>node1</value></property><property><name>hive.metastore.uris</name><value>thrift://node1:9083</value></property><property><name>hive.metastore.event.db.notification.api.auth</name><value>false</value></property></configuration>
  1. 执行show tables;后可以看到创建的表格了

updateTime:2024-02-08

标签: spark

本文转载自: https://blog.csdn.net/weixin_42311968/article/details/135772947
版权归原作者 黄黄黄黄黄莹 所有, 如有侵权,请联系我们删除。

“学习Spark遇到的问题”的评论:

还没有评论