我可以读取一个表,该表在胶水数据目录中定义,来自胶水上下文的粘附作业。 但是,如果我想使用 hiveContext 读取完全相同的表,则会收到一条错误消息,指出它找不到该表。
在我看来,HiveContext无法访问粘附数据目录。
您是否知道在粘附作业配置中插入什么(编辑作业 -> 作业参数 -> "--conf xyz"(,以确保 HiveContext 可以在粘附数据目录中查找和访问表?
我想执行以下代码:
# import libs
from pyspark.context import SparkContext
from pyspark.sql.functions import *
from pyspark.sql.types import *
from pyspark.sql import HiveContext
# create sparkContext and HiveContext
sc = SparkContext()
hc = HiveContext(sc)
# read table from glue data catalogue
df = hc.table('glue_db.glue_table').persist()
上面的代码返回以下错误消息:
pyspark.sql.utils.AnalysisException: u"找不到表或视图:
glue_db
.glue_table
;;'未解决的关系glue_db
。glue_table
">
我已经尝试了火花版本火花2.2和火花2.4
提前非常感谢!
试试这个
from awsglue.context import GlueContext
glueContext = GlueContext(sc)
spark = glueContext.spark_session
df= spark.sql(“select * from glue.table”)
或者直接从创建火花会话开始并完全绕过胶水。
只要您选中了允许将粘附目录用作 Hive 元存储的框