PySpark和HIVE/Impala
问题描述:
我想在PySpark中建立一个分类模型。我对此模型的输入是选择查询或从Hive或Impala查看的结果。是任何方式将此查询包含在PySpark代码本身中,而不是将结果存储到我们的模型中的文本文件中PySpark和HIVE/Impala
答
是的,您需要使用带有sparkContext的HiveContext。 这里是例子: -
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
非常感谢快速回复。所以tableData将作为我的输入数据来建模?我的整个目标是一旦我每天运行pyspark logit回归代码,我的回归模型应该可以工作,并且我的模型的数据应该包括我的数据集中的最新更新记录(火车和测试) –
@RRAMESHNAIK是表格数据将直接输入你的模型。 –
非常感谢你Rakesh。还有一件事是我们必须将我们的数据转换为RDD。所以tableData.collect()的结果是一个原始数据或者它已经是一个RDD。我的意思是应该将其转换为RDD? –