title: Difference between SparkContext, JavaSparkContext, SQLContext, and SparkSession?
body: <ol>
  <li>What is the difference between <code>SparkContext,</code> <code>JavaSparkContext,</code> <code>SQLContext</code> and <code>SparkSession</code>?</li>
  <li>Is there any method to convert or create a Context using a <code>SparkSession</code>?</li>
  <li>Can I completely replace all the Contexts using one single entry <code>SparkSession</code>?</li>
  <li>Are all the functions in <code>SQLContext</code>, <code>SparkContext</code>, and <code>JavaSparkContext</code> also in <code>SparkSession</code>?</li>
  <li>Some functions like <code>parallelize</code> have different behaviors in <code>SparkContext</code> and <code>JavaSparkContext</code>. How do they behave in <code>SparkSession</code>?</li>
  <li><p>How can I create the following using a <code>SparkSession</code>? </p>
  
  <ul>
  <li><code>RDD</code></li>
  <li><code>JavaRDD</code></li>
  <li><code>JavaPairRDD</code></li>
  <li><code>Dataset</code></li>
  </ul></li>
  </ol>
  
  <p>Is there a method to transform a <code>JavaPairRDD</code> into a <code>Dataset</code> or a <code>Dataset</code> into a <code>JavaPairRDD</code>?</p>