spark处理1153194条记录的mysql表,怎么就内存泄露?

caosw2005 2016-02-05 11:31:08
from pyspark import SparkContext, SparkConf
from pyspark.sql import SQLContext

sc = SparkContext("local", "Simple App")

sqlContext = SQLContext(sc)

url = \
"jdbc:mysql://localhost:3306/stock_data?user=root&password=test"

df = sqlContext \
.read \
.format("jdbc") \
.option("url", url) \
.option("dbtable", "stock_detail_collect") \
.load()

df.printSchema()

counts = df.groupBy("stock_id").count()
counts.show()

===========
怎么数据表只有1153194条记录,怎么运行以上代码就内存泄露:
16/02/05 23:30:28 WARN TaskMemoryManager: leak 8.3 MB memory from org.apache.spark.unsafe.map.BytesToBytesMap@431395b1
16/02/05 23:30:28 ERROR Executor: Managed memory leak detected; size = 8650752 bytes, TID = 1
环境:spark-1.6.0-bin-hadoop2.6
Ubuntu 14.04.3 LTS
jdk1.8.0_66
不知问题在哪?怎么破,非常感谢
...全文
461 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
caosw2005 2016-02-07
  • 打赏
  • 举报
回复
counts = df.groupBy("stock_id").count() counts.show() 改为写入文件: df.registerTempTable("people") count = sqlContext.sql("select stock_id, count(*) as c from people group by stock_id order by stock_id") for name in count.collect(): file_output.write(str(name)) file_output.flush() file_output.close()

1,261

社区成员

发帖
与我相关
我的任务
社区描述
Spark由Scala写成,是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于MapReduce算法实现的分布式计算。
社区管理员
  • Spark
  • shiter
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧