Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 预处理数据的最佳方法_Apache Spark_Apache Spark Sql_Apache Spark Dataset - Fatal编程技术网

Apache spark 预处理数据的最佳方法

Apache spark 预处理数据的最佳方法,apache-spark,apache-spark-sql,apache-spark-dataset,Apache Spark,Apache Spark Sql,Apache Spark Dataset,我有以下模式的数据 person_-id | category_-id | date | type 每天收集的数据量巨大,平均接近95GB。 我的用例是在提供的日期范围内获取给定类别id的所有人员id。 这在hdfs上以csv文件的形式存在。 当使用spark处理3周时,实际转储运行需要半小时。 如何对其进行预处理以提高spark工作的性能? 我尝试按日期分组,但没有多大帮助。您可以从以下步骤开始(因为我们没有关于您的数据或群集的详细信息。共享您的Spark Web UI屏幕截图) 预处理数据

我有以下模式的数据

person_-id | category_-id | date | type

每天收集的数据量巨大,平均接近95GB。 我的用例是在提供的日期范围内获取给定类别id的所有人员id。 这在hdfs上以csv文件的形式存在。 当使用spark处理3周时,实际转储运行需要半小时。 如何对其进行预处理以提高spark工作的性能?
我尝试按日期分组,但没有多大帮助。

您可以从以下步骤开始(因为我们没有关于您的数据或群集的详细信息。共享您的Spark Web UI屏幕截图)

  • 预处理数据并将其保存为有效的二进制格式,如拼花地板(或Avro)
  • 日期
    个人id
  • 查看是否存在掉队任务(数据倾斜)
  • 如果洗牌占用大量处理时间,请使用高效的序列化格式(Kryo)和压缩来减少洗牌大小

您是否可以更改输入文件格式?顺便说一下,您可以在按年/月/日/类别\u id/csvfile分区的HDF上编写csv