Я использую модуль Hadoop Mincemeat . Я думаю, что это отличный пример, чтобы принять к сведению:
import mincemeat
def mapfn(k,v):
for w in v:
yield 'sum',w
#yield 'count',1
def reducefn(k,v):
r1=sum(v)
r2=len(v)
print r2
m=r1/r2
std=0
for i in range(r2):
std+=pow(abs(v[i]-m),2)
res=pow((std/r2),0.5)
return r1,r2,res
Здесь генератор получает числа из текстового файла (размером до 15 ГБ) и применяет простую математику к этим числам, используя map-Reduce от Hadoop. , Если бы я не использовал функцию yield, а использовал бы понимание списка, для вычисления сумм и среднего значения потребовалось бы гораздо больше времени (не говоря уже о сложности пространства).
Hadoop - отличный пример использования всех преимуществ Генераторов.
Используя JSTL, вы можете получить все, что использует спецификацию JavaBean - если вы хотите использовать getClass () в java, вы должны использовать .class в JSTL:
Это будет записывать ваш classname:
${myList[0].class}