如何使用Scala DataFrameReader选项方法
发布时间:2020-12-16 09:56:57 所属栏目:安全 来源:网络整理
导读:Scala DataFrameReader有一个函数“option”,它具有以下签名: def option(key: String,value: String): DataFrameReader // Adds an input option for the underlying data source. 那么什么是底层数据源的“输入选项”,有人可以在这里分享一个如何使用这个
Scala DataFrameReader有一个函数“option”,它具有以下签名:
def option(key: String,value: String): DataFrameReader // Adds an input option for the underlying data source. 那么什么是底层数据源的“输入选项”,有人可以在这里分享一个如何使用这个函数的例子吗? 解决方法
Spark source code
def option(key: String,value: String): DataFrameReader = { this.extraOptions += (key -> value) this } 其中extraOptions只是一个Map并使用如下: private def jdbc( url: String,table: String,parts: Array[Partition],connectionProperties: Properties): DataFrame = { val props = new Properties() // THIS extraOptions.foreach { case (key,value) => props.put(key,value) } // connectionProperties should override settings in extraOptions props.putAll(connectionProperties) val relation = JDBCRelation(url,table,parts,props)(sqlContext) sqlContext.baseRelationToDataFrame(relation) } 如您所见,它只是将附加属性传递给jdbc驱动程序的方法. 还有更通用的选项方法来传递Map而不是单个键值以及它在Spark documentation中的用法示例: val jdbcDF = sqlContext.read.format("jdbc").options( Map("url" -> "jdbc:postgresql:dbserver","dbtable" -> "schema.tablename")).load() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |