Apache spark ";表「;在sqlContext.table中

Apache spark ";表「;在sqlContext.table中,apache-spark,pyspark,apache-spark-sql,Apache Spark,Pyspark,Apache Spark Sql,我正在阅读一本关于Spark的书,我在一节中讨论数据帧的连接方法。在此示例中,“行程”表与“车站”表连接: 数据应该来自两个电子表格,trips.csv和stations.csv,但我不知道Spark是如何计算出来的。在我看来,应该有一条线指示“行程”和“车站”应该从哪里来 如果我尝试像 trips = sqlContext.table('/home/l_preamble/Documents/trips.csv') 它不喜欢它“pyspark.sql.utils.ParseException:

我正在阅读一本关于Spark的书,我在一节中讨论数据帧的连接方法。在此示例中,“行程”表与“车站”表连接:

数据应该来自两个电子表格,trips.csv和stations.csv,但我不知道Spark是如何计算出来的。在我看来,应该有一条线指示“行程”和“车站”应该从哪里来

如果我尝试像

trips = sqlContext.table('/home/l_preamble/Documents/trips.csv')
它不喜欢它“pyspark.sql.utils.ParseException:u”\n异常输入“/”应为{'SELECT'、'FROM'、'ADD'…”


那么我怎样才能把它指向数据的方向呢?如果有任何帮助,我们将不胜感激。

我想,也许你需要这个

spark = SparkSession.builder.appName('MyApp').getOrCreate()
df_trips = spark.read.load(path='/home/l_preamble/Documents/trips.csv', format='csv', sep=',')
df_trips.createOrReplaceTempView('trips')
result = spark.sql("""select * from trips""")

为了在pyspark中连接两个数据帧,您应该尝试以下方法:-

df1=sqlContext.registerTempTable("trips")
df2=sqlContext.registerTempTable("stations")

df2.join(df1,['column_name'],outer)

感谢您的回复。我确实收到了一个错误,但我意识到提供的文件中没有任何标题(如start\u terminal或station\u id).我开始觉得这本书有点垃圾。@long_序言你提到的这本书是什么?@eliasah这是Sam的《24小时自学Apache Spark》。这还不错,但有很多地方作者没有解释如何达到目的就一跃而起。这本书也是为Spark 1.x编写的,但这就是tec的方式有时是技术学。
df1=sqlContext.registerTempTable("trips")
df2=sqlContext.registerTempTable("stations")

df2.join(df1,['column_name'],outer)