Pyspark-希望将SQL查询应用于Pyspark数据帧

Pyspark-希望将SQL查询应用于Pyspark数据帧,pyspark,amazon-emr,Pyspark,Amazon Emr,免责声明:我是pyspark的新手,这个问题可能不合适 我在网上看到了以下代码: # Get the id, age where age = 22 in SQL spark.sql("select id, age from swimmers where age = 22").show() 现在,我已尝试使用pyspark和以下代码进行轴心转换: complete_dataset.createOrReplaceTempView("df") temp = spark.sql("SELECT cor

免责声明:我是pyspark的新手,这个问题可能不合适

我在网上看到了以下代码:

# Get the id, age where age = 22 in SQL
spark.sql("select id, age from swimmers where age = 22").show()
现在,我已尝试使用pyspark和以下代码进行轴心转换:

complete_dataset.createOrReplaceTempView("df")
temp = spark.sql("SELECT core_id from df")
这就是我得到的错误:

'java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient;'
我想这很简单,但我似乎找不到解决办法。在pyspark中可以这样做吗


注意:我在使用Pyspark笔记本的EMR集群上

在pyspark中,您可以读取MySQL表(假设您使用的是MySQL)并创建dataframe

    jdbc_url = 'jdbc:mysql://{}:{}@{}/{}?zeroDateTimeBehavior=CONVERT_TO_NULL'.format(
    'usrname',
    'password',
    'host',
    'db',
)

    table_df = sql_ctx.read.jdbc(url=jdbc_url, table='table_name').select("column_name1", "column_name2")
   
其中
表_df
是数据帧。您可以在数据帧上执行所需的操作,如过滤器等

table_df.filter(table_df.column1 == 'abc').show()

在pyspark中,您可以读取MySQL表(假设您使用的是MySQL)并创建dataframe

    jdbc_url = 'jdbc:mysql://{}:{}@{}/{}?zeroDateTimeBehavior=CONVERT_TO_NULL'.format(
    'usrname',
    'password',
    'host',
    'db',
)

    table_df = sql_ctx.read.jdbc(url=jdbc_url, table='table_name').select("column_name1", "column_name2")
   
其中
表_df
是数据帧。您可以在数据帧上执行所需的操作,如过滤器等

table_df.filter(table_df.column1 == 'abc').show()

您是如何创建sparkSession和spark版本的?不确定是否相关,但仍想知道是否启用了配置单元支持?检查创建时是否存在启用HIVESupport()sparksession@SomeshwarKale:我在EMR集群上。我正在使用Pyspark笔记本。我没有显式创建sparkSession。请从中检查
spark.sql.catalogImplementation
属性的值sparkSession@SomeshwarKale我得到以下错误:
AttributeError:“function”对象没有属性“catalogImplementation”
。我对spark/pyspark很陌生,所以我可能错过了一些东西。任何帮助都将不胜感激。您是如何创建sparkSession和spark版本的?不确定是否相关,但仍想知道是否启用了配置单元支持?检查创建时是否存在启用HIVESupport()sparksession@SomeshwarKale:我在EMR集群上。我正在使用Pyspark笔记本。我没有显式创建sparkSession。请从中检查
spark.sql.catalogImplementation
属性的值sparkSession@SomeshwarKale我得到以下错误:
AttributeError:“function”对象没有属性“catalogImplementation”
。我对spark/pyspark很陌生,所以我可能错过了一些东西。任何帮助都将不胜感激。