aws клей HiveContext Клей доступа DataCatalog - PullRequest
0 голосов
/ 10 февраля 2020

Я могу прочитать таблицу, определенную в каталоге данных клея, из задания на клей с помощью glueContext. Однако, если я хочу прочитать ту же самую таблицу с помощью 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 ;; \ n'UnresolvedRelation glue_db. glue_table \ n "

Я пробовал версии spark spark spark2.2 и spark2. 4

Большое спасибо заранее!

1 Ответ

0 голосов
/ 25 февраля 2020

Попробуйте это

from awsglue.context import GlueContext

glueContext = GlueContext(sc)
spark = glueContext.spark_session
df= spark.sql(“select * from glue.table”)

Или просто начните с создания сеанса ur spark и полностью обойдите клей.

Пока вы отметили флажок, позволяющий использовать каталог клея как улей метастор

...