无法从python中的pigutil导入outputSchema

时间:2016-06-12 07:20:51

标签: python pig-udf

这可能是非常基本的问题,我是猪和蟒蛇领域的新手。 我正在尝试从pigutil导入outputSchema。

outputSchema在python UDF中使用如下: -

val files = sc.wholeTextFiles("file:///home/vm/Downloads/emp.json")
val jsonData = files.map(x => x._2)
import org.apache.spark.sql.hive._
import org.apache.spark.sql.hive.HiveContext
val hc=new HiveContext(sc)
hc.jsonRDD(jsonData).registerTempTable("employee")
val fuldf=hc.jsonRDD(jsonData)
val dfemp=fuldf.select(explode(col("Employees")))
dfemp.saveAsTable("empdummy")
val df=sql("select * from empdummy")
df.select ("_c0.userId","_c0.jobTitleName","_c0.firstName","_c0.lastName","_c0.preferredFullName","_c0.employeeCode","_c0.region","_c0.phoneNumber","_c0.emailAddress").saveAsTable("dummytab")

我在尝试运行并检查 Python命令行编辑器时遇到错误。

 @outputSchema('HistorySchema:bag{t:(SomeKey:int,ScdColumnNew:chararray,ScdColumnOld:int, activeFlag:chararray, EndDate:int, ChangeDate:int)}')

使用声明

导入后
NameError: name 'outputSchema' is not defined

获得以下错误: -

from pigutil import outputSchema

我想在这里实现的是编写一个UDF,它将从Pig中的单个元组返回2个元组。我已经尝试过使用两种不同的生成语句,然后进行两者的结合,但是它的性能很重,因此适用于UDF。

1 个答案:

答案 0 :(得分:0)