2017-02-22 42 views
1

Я хочу построить классификационную модель в PySpark. Мой вклад в эту модель является результатом выбора запроса или представления из Hive или Impala. это любой способ включить этот запрос в сам код PySpark вместо сохранения результата в текстовом файле, подающем нашу модель.PySpark и HIVE/Impala

ответ

0

Да, для этого вам нужно использовать HiveContext с sparkContext. Вот пример: -

sqlContext = HiveContext(sc) 
tableData = sqlContext.sql("SELECT * FROM TABLE") 
#tableData is a dataframe containing reference to schema of table, check this using tableData.printSchema() 
tableData.collect() #collect executes query and provide all rows from sql 

или вы можете сослаться здесь https://spark.apache.org/docs/1.6.0/sql-programming-guide.html

+0

Большое спасибо за быстрый ответ. поэтому tableData будет моими входными данными для правильной модели? моя цель состоит в том, чтобы как только я запустил регрессионный код pyspark logit на ежедневной основе, моя модель регрессии должна работать, и данные для моей модели должны включать в себя последние обновленные записи в моем наборе данных (поезд и тест) –

+0

@RRAMESHNAIK да данные таблицы будут непосредственными входными данными вашей модели. –

+0

Спасибо, что так много Ракеша. еще одна вещь - мы должны преобразовать наши данные как право RDD. поэтому результат tableData.collect() - это необработанные данные или его уже RDD. я имею в виду, должен преобразовать его как RDD? –