pyspark.sql.utils.IllegalArgumentException: ‘java.net.UnknownHostException: cdhmaster‘

@创建于:2022.06.16
@修改于:2022.06.16

1 问题描述

基于本地pc机器安装的Spark2.4.2,采用本地模式,读取远程服务器的hive数据。

报出如下错误:
pyspark.sql.utils.IllegalArgumentException: ‘java.net.UnknownHostException: cdhmaster’

Traceback (most recent call last):
  File "D:/programs/Anaconda_program/tsp_spark/main.py", line 32, in <module>
    get_data3()
  File "D:\programs\Anaconda_program\tsp_spark\src\data_preprocess.py", line 85, in get_data3
    df.show()
  File "C:\ProgramData\Anaconda3\envs\spark242\lib\site-packages\pyspark\sql\dataframe.py", line 378, in show
    print(self._jdf.showString(n, 20, vertical))
  File "C:\ProgramData\Anaconda3\envs\spark242\lib\site-packages\py4j\java_gateway.py", line 1257, in __call__
    answer, self.gateway_client, self.target_id, self.name)
  File "C:\ProgramData\Anaconda3\envs\spark242\lib\site-packages\pyspark\sql\utils.py", line 79, in deco
    raise IllegalArgumentException(s.split(': ', 1)[1], stackTrace)
pyspark.sql.utils.IllegalArgumentException: 'java.net.UnknownHostException: cdhmaster'

2 代码

import os
# 设置你自己的路径
java8_location = r'C:\Program Files\Java\jdk1.8.0_211'
os.environ['JAVA_HOME'] = java8_location

def get_data3():
    print('Run in get_data3()')
    # 新建SparkSession
    spark_session = SparkSession.builder.master("local[*]").appName("test") \
        .config("hive.metastore.uris", "thrift://IP:端口号") \
        .config('spark.executor.memory', '4g') \
        .config('spark.driver.memory', '4g') \
        .enableHiveSupport().getOrCreate()
    print('spark session...')
    df = spark_session.sql("select * from db.table")
    df.show()

    data = [(10, 'Aa'), (11, 'Bb')]
    df_new = spark_session.createDataFrame(data, ['id', 'name'])
    df_new.show()
    df_new.registerTempTable('db')
    df_new.write.format("hive").mode("append").saveAsTable('db.table')

    spark_session.stop()

3 解决办法

修改Win10系统下的host文件。
C:\WINDOWS\system32\drivers\etc\host
添加下面的内容

192.168.X.X cdhmaster

参考资料

java.net.UnknownHostException 解决方法
java.net.UnknownHostException: unknown host: master
hosts文件是什么? 以及在各个系统中(Windows、Mac、Linux)的hosts文件在哪里?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值