小编Tim*_*yan的帖子

如何在Amazon EMR,EC2上为Breeze配置高性能BLAS/LAPACK

我正在尝试设置一个环境来支持群集上的探索性数据分析.根据对该项目的初步调查,我的目标是使用Scala/Spark和Amazon EMR来配置群集.

目前我只想尝试一些基本的例子,以确认我已经正确配置了所有内容.我遇到的问题是我没有看到我期望从亚马逊机器实例上的Atlas BLAS库获得的性能.

下面是我简单基准测试的代码片段.它只是一个方形矩阵乘法,然后是短脂肪乘法和高瘦乘法,以产生一个可以打印的小矩阵(我想确保Scala不会因为懒惰的评估而跳过计算的任何部分).

我正在使用Breeze进行线性代数库和netlib-java来拉入BLAS/LAPACK的本地本机库

import breeze.linalg.{DenseMatrix, DenseVector}
import org.apache.spark.annotation.DeveloperApi
import org.apache.spark.rdd.RDD
import org.apache.spark.{Partition, SparkContext, TaskContext}
import org.apache.spark.SparkConf

import com.github.fommil.netlib.BLAS.{getInstance => blas}

import scala.reflect.ClassTag

object App {

  def NaiveMultiplication(n: Int) : Unit = {

    val vl = java.text.NumberFormat.getIntegerInstance.format(n)
    println(f"Naive Multipication with vector length " + vl)

    println(blas.getClass().getName())

    val sm: DenseMatrix[Double] = DenseMatrix.rand(n, n)
    val a: DenseMatrix[Double] = DenseMatrix.rand(2,n)
    val b: DenseMatrix[Double] = DenseMatrix.rand(n,3)

    val c: DenseMatrix[Double] = sm * sm
    val cNormal: DenseMatrix[Double] = (a *  c)  * b …
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 amazon-emr scala-breeze apache-spark jblas

27
推荐指数
1
解决办法
2151
查看次数

从S3读取CSV文件到Spark数据帧是否会如此之慢?

我正在构建一个需要从S3加载数据集的应用程序.功能正常,但性能出乎意料地慢.

数据集采用CSV格式.每个文件中大约有7M条记录(行),每个文件大小为600-700MB.

val spark = SparkSession
       .builder()
       .appName("MyApp")
       .getOrCreate()

val df = spark
     .read
    .option("header", "true") 
    .option("inferSchema", "true") 
    .csv(inFileName:_*)
    // inFileName is a list that current contains 2 file names
    // eg.  s3://mybucket/myfile1.csv

val r = df.rdd.flatMap{ row =>
      /*
       * Discard poorly formated input records 
       */
      try {
        totalRecords.add(1)

        // this extracts several columns from the dataset
        // each tuple of indexColProc specifies the index of the column to
        // select from the input row, and a function to …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 apache-spark

11
推荐指数
1
解决办法
1万
查看次数

如何使用Amazon AMI在Amazon AWS EC2或EMR上安装GUI

我需要运行一个需要GUI界面来启动和配置的应用程序.我还需要能够在亚马逊的EC2服务和EMR服务上运行此应用程序.EMR要求意味着它必须在亚马逊的Linux AMI上运行.

经过广泛搜索后,我一直无法找到任何现成的解决方案,特别是要求在亚马逊的AMI上运行.最接近的匹配和最常引用的解决方案在这里.不幸的是,它是在RHEL6实例上开发的,该实例与亚马逊的AMI有足够的不同,该解决方案不起作用.

我在下面发布我的解决方案.希望它可以节省一些其他人用于提出正确配方所需的数小时实验.

xfce amazon-ec2 amazon-emr emr

4
推荐指数
1
解决办法
7477
查看次数