因此,我在aws glue中编写了一个scala作业,并尝试将一些csv读入如下Dataframe:
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql.{DataFrame, Row, SparkSession}
import org.apache.spark.sql.functions._
import org.apache.spark.sql.types._
object test_class {
def main(args: Array[String]): Unit = {
val sc = new SparkContext(new SparkConf())
val spark = SparkSession.builder.config(sc.getConf).getOrCreate()
val sch=StructType(
Array(
StructField("col1", StringType, true),
StructField("col2", DateType, true)
)
)
val dataset=spark.read.option("sep", "\t").schema(sch).csv("s3://staging-data/my_dir/")
dataset.show(40, truncate=false)
}
}
这将输出冗长、特殊字符和“null”的混合。
但是,当我在aws emr中运行相同的代码时,使用sparkshell;我不面对这个问题。Dataframe以正确的数据正确显示。
注意:我已授予s3fullaccess访问粘附作业正在使用的iam角色。
我做错什么了?
暂无答案!
目前还没有任何答案,快来回答吧!