我正在尝试使用Datbricks的CSV软件包来启动Spark集群,以便我可以创建镶木地板文件,并且明显地使用Spark做一些事情 .

这是在AWS EMR中完成的,所以我不认为我将这些选项放在正确的位置 .

这是我想要在群集旋转时发送到群集的命令: spark-shell --packages com.databricks:spark-csv_2.10:1.4.0 --master yarn --driver-memory 4g --executor-memory 2g . 我试过把它放在Spark步骤上 - 这是正确的吗?

如果群集在没有正确安装的情况下启动,我该如何使用该包启动PySpark?这是对的: pyspark --packages com.databricks:spark-csv_2.10:1.4.0 ?我不知道它是否安装得当 . 不确定要测试的功能

关于实际使用包,这对于创建镶木地板文件是否正确:

df = sqlContext.read.format('com.databricks.spark.csv').options(header='false').load('s3n://bucketname/nation.tbl', schema = customSchema)

#is it this option1
df.write.parquet("s3n://bucketname/nation_parquet.parquet")

#or this option2
df.select('nation_id', 'name', 'some_int', 'comment').write.parquet('com.databricks.spark.csv').save('s3n://bucketname/nation_parquet.tbl')

我无法找到有关编写Parquet文件的最新文档(2015年中期及以后) .

编辑:

好的,现在我'm not sure if I'正确地创建了我的数据帧 . 如果我尝试在其上运行一些 select 查询并显示结果集,那么我不会尝试运行:

df = sqlContext.read.format('com.databricks.spark.csv').options(header='false').load('s3n://bucketname/nation.tbl', schema = customSchema)

df.registerTempTable("region2")

tcp_interactions = sqlContext.sql(""" SELECT nation_id, name, comment FROM region2 WHERE nation_id > 1 """)

tcp_interactions.show()
#get some weird Java error:
#Caused by: java.lang.NumberFormatException: For input string: "0|ALGERIA|0| haggle. carefully final deposits detect slyly agai|"