我有一个笔记本a.pynb,它有读取拼花文件语句的功能。在
我在另一个笔记本b.pynb中使用a.pynb,在这个新笔记本中,我调用a.pynb函数来读取这个拼花文件并创建一个sqltable。但它总是失败
Error: global name sqlContext is not defined,
当它在两个笔记本中定义时。在
确切代码:
a.pynb(实用工具)
^{pr2}$在b.pynb中,我使用了这个函数
import nbimporter
import a as commonUtils
reload(commonUtils)
sc = SparkContext.getOrCreate()
sqlContext = SQLContext(sc)
df2 = commonUtils.parquet_read("abc")
它总是失败
Error: global name sqlContext is not defined,
当它在两个笔记本中定义时。在
我会很犹豫地使用您所遵循的方法(即将笔记本作为模块导入)。我认为最好是将实用程序代码移到
.py
文件中,而不是尝试使用magic将笔记本作为模块导入。在基于documentation,你似乎忽略了一些魔力:
从您的代码示例来看,您将
sqlContext
定义为模块级变量,而不是类或函数。在一种方法是将代码重新组织如下。我认为,更好的方法是将代码移到
.py
文件中。在相关问题 更多 >
编程相关推荐