资源密集型是使用一个HiveContext的10个背对背SQL查询?

时间:2016-11-16 09:06:19

标签: apache-spark apache-spark-sql

我有以下代码片段,它将在Spark 1.5.1中使用相同的[HttpPost] [ValidateAntiForgeryToken] public ActionResult Delete(int id) { EmployeeBusinessLayer employeeBusinessLayer = new EmployeeBusinessLayer(); employeeBusinessLayer.DeleteEmployee(id); return RedirectToAction("ListAllEmployees"); } 运行10 sqls。

<application
        android:name=".MyApplication"
        android:allowBackup="true"
        android:icon="@drawable/my_icon"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:replace="android:icon,android:theme">

        <activity
            android:name=".RUN_YOUR_ACTIVITY"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

我的问题是,当第n个sql完成时,从资源的角度来看对下一个sql的影响是什么。也就是说,何时将释放第n个sql所使用的资源。例如,第n个sql使用的内存(例如,用于hashjoin的内存)。

1 个答案:

答案 0 :(得分:1)

内存(de)分配可能取决于正在使用的Spark版本,但Spark中的任何查询都“转换”为一个或多个Spark作业。请参阅Web UI中的SQL选项卡以了解更多信息。

由于您没有缓存数据集,因此可以安全地假设从长远来看没有内存分配。当需要内存时,其他数据集将从内存中逐出并丢失。使用存储和执行程序选项卡可以更详细地浏览它。