如何从df_raw中提取数据(标签)这是Mapstruct?
我正在使用Spark 1.6。我在Spark中通过hivesql从Hive获取数据,然后我得到了一个数据框,但数据框中的一列是Mapstruct,我试图从中提取数据,但失败了,非常希望stackoverflow能给我一些帮助,3Q。
从Hive获取数据后,我得到了一个名为df\u raw的数据帧,模式为:
root
|-- subscriberid: string (nullable = true)
|-- time: string (nullable = true)
|-- itemid: string (nullable = true)
|-- label: map (nullable = true)
| |-- key: string
| |-- value: string (valueContainsNull = true)
|-- partitiondate: string (nullable = true)
和df\U raw。显示(3)为:
+------------+-------------------+------+--------------------+-------------+
|subscriberid| time|itemid| label|partitiondate|
+------------+-------------------+------+--------------------+-------------+
| 1569960|2019-09-08 08:00:01| 46611|Map(license -> yo...| 20190908|
| 1104555|2019-09-08 08:00:29| 46445|Map(license -> wa...| 20190908|
| 1309036|2019-09-08 08:00:55| 45219|Map(license -> yo...| 20190908|
+------------+-------------------+------+--------------------+-------------+
为了清楚地获得它,我将df\u raw转换为rdd,并从中获取2个数据:
val rawRDD: RDD[String] = df_raw.rdd.map(pojo => pojo.mkString("\t"))
println("——————————" + "\n")
rawRDD.take(2).foreach(println)
数据为:
1545807 2019-09-10 07:29:41 4706 Map(license -> wa, videoid -> 4706, mediapaytype -> 1, duration -> 131) 20190908
1496840 2019-09-10 07:30:43 4535 Map(license -> you, videoid -> 4535, mediapaytype -> 1, duration -> 137) 20190908
我想知道如何分别从df\U原始列(“标签”)中提取数据?
我试图得到这样一个新的数据帧:
val df_userBehaviorsRow_1 = rawUserBehaviorsData.map(line => {
val splits = line.split("\t")
val subscriberid = splits(0)
val time= splits(1)
val itemid = splits(2)
val label = splits(3)
val resultant = label.map{m=>
val seq=m.values.toSeq
(seq(0),seq(1),seq(2))
}
val license = resultant._1
val duration = resultant._3
(subscriberid , time, itemid, label, license,duration)
}).toDF
我失败了,IntelliJ IDEA甚至不能识别“val结果=label.map{m=
非常希望能得到一些帮助,3Q。
例如,为了选择列中的许可证值,您只需选择该列并应用密钥许可证。
import org.apache.spark.sql.functions.sql.col
df_raw.select(col("label")("license")).show()
您可以使用withColumn将列许可证添加到数据帧
df_raw_new = df_raw.withColumn("license", col("label")("license").alias("license"))
我正在android studio中创建一个文本视图,默认情况下文本视图为空,它从mysql数据库中获取数据。文本很长,包含用于强制换行的“\n”字符。由于某种原因,文本视图正在显示,并且没有任何换行符。这是我的代码: 以下是应用程序的图片,显示没有换行符的文本:(https://goo.gl/Cr34Cq 图片中的文本在mysql数据库中编辑。它按原样显示。 我还可以提供java代码和mysql
我已经搜索了很长时间,但仍然无法弄清楚这一点。似乎光栅包是要提取的,但只能从二维数据中提取。 这个四维数据的例子,一个netCDF文件包含连续三天(72小时)的每小时压力水平(4级)气温。https://drive.google.com/file/d/1UIiX9-xHrtH2FT1torg53iPxyzLxSYQu/view?usp=sharing。 我只想提取一些点位置(xy)的温度,以及相应
我在POST请求中从角应用程序发送表单数据到我的Azure函数,这些函数在java中编译。 客户端看起来像这样: 当物品接收到azure功能时 功能的目的是通过firebase向android应用程序发送推送通知。 带有HTTP触发器的azure函数如下所示: 当我运行我得到: ------WebKitFormBoundary2gNlxQx5pqyAeDL3内容处置:表单数据。。。。 我很高兴知道
我有一个JavaScript字符串(例如),我只想从中得到。 我试过: 它仍然在警报中返回,我如何让它工作? 它需要适应任何长度数字附加在结束。
不一致js是一个用于Discord的API,允许开发人员为程序Discord制作插件。这是js中API代码的链接,https://github.com/hydrabolt/discord.js/ 不和谐被设置成像一个服务器,你在那里连接和聊天的渠道,我的问题是我如何从渠道拉消息数据。 他们所做的是在JSON缓存中设置所有通道,在通道中,对象是另一个带有消息对象的缓存(留档所说的)。但是当我到达消息
我有关于从PDF文件中提取数据的查询。我有一个PDF文件,其中包含多个可用的数据表。我想从需要的表内容中提取数据。 如何从 PDF 文件中提取表格数据? 如何使用 iText/PDFBox 执行此操作?