pyspark 如何一次获得多个opco代码

iibxawm4  于 2023-02-11  发布在  Spark
关注(0)|答案(2)|浏览(146)
OpCo_code = spark.sql(f""" 
  SELECT
    OPCOCode 
  FROM
    delta. / {SALES_ORG_REFERENCE_OBJECT} 
  WHERE
    ForecastUnitCode = "{SalesOrg_row['ProductKeyCode']}" 
    AND SalesOrganisationCode = "{SalesOrg_row['SalesOrganisationCode']}" 
    AND RegionID = "{SalesOrg_row['RegionID']}" """).collect()[0][0]

打印(运营公司代码)

result :HP

但它有多个OPCOCode,如HP、IC、FD、UF,它只有一个OPCOCode

vhmi4jdf

vhmi4jdf1#

由于您只从列表中选择第一个元素,因此将获得单个值。
下面的代码将给予完整的列表:

out = spark.sql("sql query")

out.rdd.map(lambda r: r.OPCOCode).collect()
sigwle7e

sigwle7e2#

运营公司代码= spark.sql(f”””从增量中选择运营公司代码/{SALES_ORG_REFERENCE_OBJECT} WHERE预测单位代码="{销售组织_行[“产品关键代码”]}”且销售组织代码=“{销售组织_行[”销售组织代码“]}”且区域ID ="{销售组织_行[“区域ID”]}”“”)
运营公司_code.rdd.map(lambda r:r.运营公司代码).collect()
输出:['惠普','惠普','惠普','惠普']

相关问题