в запросе, чтобы выбрать некоторые столбцы из кадра данных, у меня есть тип столбца: карта, которая имеет несколько атрибутов.
Я пытаюсь выбрать только несколько атрибутов из этого столбца, но это возвращает мне ошибку, так как некоторые атрибуты содержат специальные символы, такие как '-',
другие атрибуты этого столбца работают нормально
пример:
sqlContext.sql("select colA, colB.attribute1 from schema.table")
однако, если я выберу атрибут, который содержит -, он потерпит неудачу
sqlContext.sql("select colA, colB.4-TRANSPORT from schema.table")
=> не удается
18/08/29 15:21:34 INFO ParseDriver: Parse Completed
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/hdp/2.5.3.16-1/spark/python/pyspark/sql/context.py", line 580, in sql
return DataFrame(self._ssql_ctx.sql(sqlQuery), self)
File "/usr/hdp/2.5.3.16-1/spark/python/lib/py4j-0.9-src.zip/py4j/java_gateway.py", line 813, in __call__
File "/usr/hdp/2.5.3.16-1/spark/python/pyspark/sql/utils.py", line 51, in deco
raise AnalysisException(s.split(': ', 1)[1], stackTrace)
pyspark.sql.utils.AnalysisException: u"cannot resolve 'TRANSPORT'
Я пробовал двойные кавычки и т.д., пока не повезло ...