我是Spark Hadoop的新手 . 我有一个用例,我试图读取,计算记录数和20GB CSV文件中的数据排序 . 问题是当我使用这些功能时它不起作用 . 这是我的代码请看看并建议我使用spark RDD处理大文件的方法 .

import findspark
    findspark.init()
    from pyspark import SparkConf, SparkContext

    APP_NAME = 'My Spark Application'
    file = 0
    conf = SparkConf().setAppName("APP_NAME").setMaster("local")
    sc = SparkContext(conf=conf)

    val_file = sc.textFile("hdfs://localhost:50000/yottaa/transactions.csv")

    val_file.count() ### Its taking 10 mins to execute and produce result.

val_file.count() --->它's taking 10 mins time to count rows, How can I increase speed ?. I' m使用16GB RAM笔记本电脑,当我给 val_file.collect( )语句时,它显示以下错误:

Py4JJavaError:调用z:org.apache.spark.api.python.PythonRDD.collectAndServe时发生错误 . :org.apache.spark.SparkException:作业因阶段失败而中止:阶段0.0中的任务0失败1次,最近失败:阶段0.0中失去的任务0.0(TID 0,localhost):java.lang.OutOfMemoryError:GC开销极限超出java.nio.HeapCharBuffer . (HeapCharBuffer.java:57)java.nio.CharBuffer.allocate(CharBuffer.java:331)at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:777)atg .apache.hadoop.io.Text.decode(Text.java:412)org.apache.hadoop.io.Text.decode(Text.java:389)atg.apache.hadoop.io.Text.toString(Text .java:280)at