我知道在PySpark中导入CSV文件的两种方法:
1)我可以使用SparkSession。这是我在Jupyter Notebook中的完整代码。
from pyspark import SparkContext
sc = SparkContext()
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName('Spark Session 1').getOrCreate()
df = spark.read.csv('mtcars.csv', header = True)2)我可以使用Databricks的Spark-CSV模块。
from pyspark import SparkContext
sc = SparkContext()
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
df = sqlContext.read.format('com.databricks.spark.csv').options(header = 'true', inferschema = 'true').load('mtcars.csv')1) SparkSession与Spark-CSV相比有哪些优势?
2)与SparkSession相比,Spark-CSV有哪些优势?
3)如果SparkSession完全能够导入CSV文件,为什么Databricks要发明Spark-CSV模块?
发布于 2019-10-18 07:37:07
让我先回答第三个问题,因为2.0.0 spark csv是内嵌的。但在旧版本的spark中,我们必须使用spark-csv库。Databricks在早期阶段(1.3+)发明了spark-csv。
为了回答你的第一个和第二个问题,这是Spark1.6和2.0+的比较。如果您使用SparkSession,您将获得spark-csv +Spark2.0功能提供的所有功能。如果你使用spark-csv,那么你将失去这些特性。
希望这能有所帮助。
https://stackoverflow.com/questions/58440885
复制相似问题