在读取源文件时,我需要将属性文件中配置单元表的元数据(包括列名及其数据类型)作为模式传递。
(下面是属性文件中的一个参数-以及其他一些参数,如表\u name…等) hive_table_metadata = emp_name,StringType|emp_dt,DateType|emp_no,IntegerType
我想把它读入sparkDataframe并作为schema传递(当我从如下的源文件中读取数据时)
有人能提供一些意见或解决办法吗
在下面我正在尝试,我可以传递列名(从配置单元表元数据)…但不能将其数据类型作为配置单元表元数据的参数/参数,并在下面的代码中作为架构发送。
val tbl_schema = StructType(hive_table_metadata.split("|").map(fieldName ⇒ StructField(fieldName, <get the datatype from hive_table_metadata>, true)))
val readFileIn = spark.sqlContext.read
.format("csv")
.schema(tbl_schema)
.load("data/source_file.csv")
我在scala中使用spark 2.x。
暂无答案!
目前还没有任何答案,快来回答吧!