3

我在代码存储库中完成了以下操作

@transform_df(
    Output(test_dataset_path),
    df=Input(og_dataset_path)
)
def compute(ctx, df):
    ctx.spark_session.sql(f'''
    CREATE TABLE `test_dataset_path` AS
    SELECT * FROM `og_dataset_path`
    ''')

    return ctx.spark_session.sql(f'''
    SELECT * FROM `og_dataset_path`
    ''')

它在代码上出错了:

ctx.spark_session.sql(f'''
CREATE TABLE `test_dataset_path` AS
SELECT * FROM `og_dataset_path`
''')

出现错误:

pyspar.sql.utils.AnanlysisException:找不到表或视图:og_dataset_path

如何解决此错误?

4

1 回答 1

2

使用createOrReplaceTempView应该可以解决这个问题:

from transforms.api import transform_df, Input, Output

@transform_df(
     Output("/Users/XXXXX/sqlcsvA2"),
     ALL=Input("/datasources/locations/data/cleaned")
)
def my_compute_function(ctx, ALL):
    ALL.createOrReplaceTempView('ALL')
    return ctx.spark_session.sql('select * from ALL limit 10')
于 2021-12-09T02:31:30.127 回答