Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
Performance 如何确定在spark中使用哪些API使代码具有时间效率_Performance_Scala_Apache Spark_Apache Spark Sql - Fatal编程技术网

Performance 如何确定在spark中使用哪些API使代码具有时间效率

Performance 如何确定在spark中使用哪些API使代码具有时间效率,performance,scala,apache-spark,apache-spark-sql,Performance,Scala,Apache Spark,Apache Spark Sql,人们可以通过哪些步骤从逻辑上推断出哪些api或命令通常用于提高时间效率 例如:根据经验,我发现通过SQLAPI调用连接数据帧比使用本机scala命令的时间效率高约30% df1.join(df2,df1.k==df2.k,joinType='inner') sqlContext.sql('SELECT*FROM df1 JOIN df2 ON df1.k=df2.k') 确定最佳命令时涉及的首要原则是什么?众所周知,大数据中的性能比较非常棘手,因为有太多无法控制的因素 用于查看逻辑和物理执行计划

人们可以通过哪些步骤从逻辑上推断出哪些api或命令通常用于提高时间效率

例如:根据经验,我发现通过SQLAPI调用连接数据帧比使用本机scala命令的时间效率高约30%

df1.join(df2,df1.k==df2.k,joinType='inner')
sqlContext.sql('SELECT*FROM df1 JOIN df2 ON df1.k=df2.k')


确定最佳命令时涉及的首要原则是什么?

众所周知,大数据中的性能比较非常棘手,因为有太多无法控制的因素

用于查看逻辑和物理执行计划。如果DSL和SparkSQL两者相同,那么Spark将做完全相同的工作。我希望上述两个语句的结果相同,因此,观察到的差异是由于其他因素造成的,例如,测试运行期间其他进程使用的机器资源、运行之间的预缓存等


在作业执行期间,使用Spark UI来执行。

您所说的
本机scala命令是什么意思?你能举个例子说明你用什么命令与spark api进行比较吗@avr我的意思是使用
join
而不是使用sqlContext调用sql查询