Похоже, что невозможно работать с таблицами Hive, созданными с помощью метода hive-json-serde, с точкой в ключах, используя sqlContext.sql ("...") из сценария pyspark, как я хочу.Всегда возникает одна и та же ошибка, если я хочу удалить такую таблицу Hive или создать ее (еще не пробовал другие вещи).Поэтому мой обходной путь - использовать python os.system () и выполнить требуемый запрос через сам куст:
q='hive -e "DROP TABLE IF EXISTS '+ table_name+';"'
os.system(q)
С CREATE TABLE-запросом все сложнее, поскольку нам нужно экранировать обратные пометки с помощью '\':
statement = "CREATE TABLE test111 (testA struct<\`aa.bb\`:string>)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION 's3a://bucket/test111';"
q='hive -e "'+ statement+'"'
Он выводит некоторую дополнительную информацию, связанную с ульями, но работает!