在我的简单spark应用程序中,我有一些代码:
def read_group(type):
try:
return sqlContext.read.json('adl:///user/sshuser/gts/in/%s/*.json' % type)
except:
return False
if __name__ == '__main__':
# End Python 2.x.x Unicode pain
reload(sys)
sys.setdefaultencoding('utf8')
sc = SparkContext()
sc.setLogLevel('WARN')
sqlContext = HiveContext(sc)
types = [
'Customer',
'CustomerVariable',
'ETLJob',
'ETLJobDetail'
'Item',
'ItemPerson',
'ItemPersonVariable',
'ItemVariable',
'ItemXref',
'ItemXrefVariable',
'Part',
'PartVariable',
'ProcessHistory',
'ProcessHistoryVariable',
'ProductionReport',
'Quality',
'QualityVariable',
'RawMaterial',
'RawMaterialVariable',
'ShippingInfo',
'TAS_Project',
]
for type in types:
print 'Read %s' % type
frame = read_group(type)
if frame:
frame.show()
for循环中的代码似乎按顺序执行。如何同时运行所有类型?
我试过这个,但它给出了一个错误:
sc.parallelize(types).map(lambda x: sqlContext.read.json('adl:///user/sshuser/gts/in/%s/*.json' % x).show())