Используйте Case Apache Spark, получая Nameerror, запускающую строку с countryCodeMap - PullRequest
0 голосов
/ 31 мая 2019

Я очень новичок в этом, и я использую пример использования, найденный на databricks.com, чтобы узнать больше. (https://databricks.com/blog/2018/07/09/analyze-games-from-european-soccer-leagues-with-apache-spark-and-databricks.html)

Я запускаю spark через ноутбук Jupiter и python 3. Я смог загрузить файлы и т. Д., Но я получаю nameError для одной из строк. он говорит, что он не был определен, но я нигде не вижу, где это определить или как это сделать. линия такая:

gameInfDf = gameInfDf.withColumn("country_code", mapKeyToVal(countryCodeMap) ("country"))

nameError: имя 'countryCodeMap' не определено до этого я запускал этот фрагмент кода:

def mapKeyToVal(mapping):
    def mapKeyToVal_(col):
        return mapping.get(col)
    return udf(mapKeyToVal_, StringType())

Может кто-нибудь сказать мне, если я запускаю его не в той программе или в чем моя проблема?

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

1 Ответ

0 голосов
/ 31 мая 2019

Согласно https://databricks.com/blog/2018/07/09/analyze-games-from-european-soccer-leagues-with-apache-spark-and-databricks.html. Вы пропустили место в вашем возвращении. Не уверен, как вы смогли запустить эту часть. Я получаю сообщение об ошибке при попытке определить UDF. Попробуйте это:

def mapKeyToVal(mapping):
    def mapKeyToVal_(col):
        return mapping.get(col)
    return udf(mapKeyToVal_, StringType())
...