当我使用pyspark连接到配置单元时,我想获取表的注释时,我使用了“ DESCRIBE TABLE table_name”,但它不起作用
sql = """(DESCRIBE TABLE table_name) as t"""
jdbcDF = spark.read \
.format("jdbc") \
.option("url", "********") \
.option("dbtable", sql) \
.option("user", "username") \
.option("password", "password") \
.load()
错误: 第1:33行在语句中“ table_name”附近的“(”附近缺少GRPAH_PATH
答案 0 :(得分:0)
Spark
使用Hive
作为其基础元存储,因此您只需要使用Spark SQL
来查找所需的信息。您也可以将dataframe
读入表格以进行进一步分析。您将使用jdbc
连接到外部RDBMS
...例如类似SQL Server, Oracle, Redshift, PostgresSQL, etc.
# specify your hive database
spark.sql("use default")
# get hive table stats
spark.sql("DESCRIBE TABLE spark_sql_table").show()
+-------------------+---------+-------+
| col_name|data_type|comment|
+-------------------+---------+-------+
| DEST_COUNTRY_NAME| string| null|
|ORIGIN_COUNTRY_NAME| string| null|
| count| bigint| null|
+-------------------+---------+-------+
# read hive table as spark df
df = spark.table("spark_sql_table")
# confirm schema
df.printSchema()
root
|-- DEST_COUNTRY_NAME: string (nullable = true)
|-- ORIGIN_COUNTRY_NAME: string (nullable = true)
|-- count: long (nullable = true)
# perform analysis
df.show()
答案 1 :(得分:0)
您可以尝试类似的
df = spark.sql("describe extended db.my_tbl")
df.where("col_name = 'Table Properties'").collect()
然后会在创建表时为您提供表注释。