【问题标题】:Querying Hive via Pyspark return empty result通过 Pyspark 查询 Hive 返回空结果
【发布时间】:2017-04-24 09:03:26
【问题描述】:

我在 AWS EMR 集群上运行 spark 2.1.0(基于以下 -https://aws.amazon.com/blogs/big-data/running-jupyter-notebook-and-jupyterhub-on-amazon-emr/

我尝试查询一个存在并在远程 HIVE 中包含数据的表。 Spark 正确干扰模式,但表内容为空。有什么想法吗?

import os
import findspark
findspark.init('/usr/lib/spark/')

# Spark related imports
from pyspark.sql import SparkSession
from pyspark import SparkContext

sc = SparkContext.getOrCreate()
spark = SparkSession.builder.config(conf=sc.getConf()).getOrCreate()

remote_hive = "jdbc:hive2://myhost:10000/mydb"
driver = "org.apache.hive.jdbc.HiveDriver"
user="user"
password = "password"

df = spark.read.format("jdbc").\
    options(url=remote_hive, 
            driver=driver, 
            user=user, 
            password=password, 
            dbtable="mytable").load()


df.printSchema()
# returns the right schema
df.count()
0

【问题讨论】:

    标签: apache-spark hive pyspark


    【解决方案1】:

    你可以试试 -

    spark\
      .read.format("jdbc")\
      .option("driver", driver)
      .option("url", remote_url)
      .option("dbtable", "mytable")
      .option("user", "user")\
      .option("password", "password")
      .load()
    

    【讨论】:

    • 相同结果 - 空表 (df.count() = 0)
    猜你喜欢
    • 1970-01-01
    • 2016-01-13
    • 2021-03-18
    • 2021-11-20
    • 2019-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多