1.在spark与结巴结合使用时,在主节点load一次字典,该字典只存在于spark的driver里面,但是worker进程无法共享这段内存,会导致分词时字典没用上,解决方法,在每个mapPartitions函数里添加jieba字典标识位(jieba.dt.initialized):
if not jieba.dt.initialized: jieba.load_userdict('user_dict.txt')
2.jiaba的字典也可以直接传入set形式,因其源码书写并不规范化:
3.repr()函数的作用是将dict或set等形式转为string