2017-02-22 33 views
0

Я читал данные с использованием SQLContext и хотел запустить SQL-запросы на нем. Я получил ошибку. Вот мой код:PySpark: RegisterTempTable Lose Headers

%pyspark 

from pyspark.sql import SQLContext 
sqlCtx = SQLContext(sc) 
data = sqlCtx.read.csv("s3://recs-emr-sandbox/mtcars.csv", header=True, inferSchema=True) 
data.registerTempTable("data") 
spark.sql("SELECT * from data").show() 

я получаю результат, но мои заголовки нет, поэтому в основном бесполезно, потому что я не могу правильно написать ИНЕК.

В каком месте я ошибаюсь? Благодаря

ответ

0

Вы должны зарегистрироваться стол первым:

data = sqlCtx.read.csv(...) 
df.registerTempTable("data") 
sqlContext.sql(...) 
+0

Я попробовал, что точная команда:. Df.registerTempTable ("данные"), а затем мой sqlContext.sql ("выберите * данные формы") показать() и пойти с той же ошибкой. Мне не хватает импорта? – Bachzen

+0

Способна создать таблицу, но теперь нет заголовков ... – Bachzen

+0

@Bachzen вы можете использовать то же имя заголовка, что и исходная схема данных. –