Я использую Python версии 2.4 с Pyspark.
У меня проблема с тем, как передать параметр, чтобы получить год и месяц выполнения внутри файла where.
Как я могу сделать?
import pyspark
from datetime import datetime, timedelta
from os.path import expanduser, join, abspath
from pyspark import SparkContext
from pyspark.sql import SQLContext
from pyspark.sql import HiveContext
import datetime
import sys, os, logging, getopt
sc = SparkContext()
hc = HiveContext(sc)
sql = SQLContext(sc)
hc.sql(""" SELECT * FROM bd_raw_data.table_iop WHERE pt_year = 2022 AND pt_month = 1 """).registerTempTable("temp_df_table_iop")
@DKNY Еще нет, мне нужно передать значение года-месяца в параметре, например: pt_year = <<parm_year>> И pt_month = <<parm_month>>
Добавил мой ответ, посмотрите, поможет ли это!
@anky, пост помечен python-2.4
Вы хотите передать параметр внутри запроса?
hc.sql(""" SELECT * FROM bd_raw_data.table_iop WHERE pt_year = 2022 AND pt_month = 1 """).registerTempTable("temp_df_table_iop")
Правильно @Aquiles
Вы можете просто использовать strings
в этом случае, как показано ниже:
year = <your year>
month = <your month>
hc.sql("""SELECT * FROM bd_raw_data.table_iop WHERE pt_year = {year} AND pt_month = {month}""".format(year=year,month=month)).registerTempTable("temp_df_table_iop")
Есть ли место, откуда вы получаете значения
year
иmonth
?