当我试图对列执行强制转换时(从带有标题的逗号分隔的csv文件中读取),我得到了以下错误。
var df = spark.read.option("header","true").option("delimiter",",").csv("/user/sample/data")
df.withColumn("columnCast", expr("CAST(SaleAmount) AS LONG")).count
df.withColumn("columnCast", expr("CAST(NULL) AS LONG")).count
可以使用Column的cast方法进行强制转换:
import spark.implicits._
val df = spark.sparkContext.parallelize(1 to 10).toDF("col1")
val casted = df.withColumn("test", lit(null).cast("string"))
.withColumn("testCast", $"test".cast("long"))
casted.show()
casted.printSchema()
结果:
+----+----+--------+
|col1|test|testCast|
+----+----+--------+
| 1|null| null|
| 2|null| null|
| 3|null| null|
| 4|null| null|
| 5|null| null|
| 6|null| null|
| 7|null| null|
| 8|null| null|
| 9|null| null|
| 10|null| null|
+----+----+--------+
root
|-- col1: integer (nullable = false)
|-- test: string (nullable = true)
|-- testCast: long (nullable = true)
我们有kakfa hdfs连接器以默认avro格式写入hdfs。示例o/p: obj^A^B^Vavro.schema"["null","string"]^@$ͳø{ 尝试使用以下方式阅读: 我们得到以下错误 JAVAlang.RuntimeException:无法在com上将Avro架构转换为Spark SQL StructType:[“null”,“string”]。databricks。火
我正在尝试使用 jolt 转换 JSON,而无需添加新项目以及从键值中删除空格。此外,我想知道如何映射到当前列表。 输入: 预期产出: 规格已尝试:
我从Yahoo下载了以下数据集!金融(并做了一些基本的操纵)。我的问题是--如何将时间列转换为数据集,转换为数据集的列?
问题内容: 我脑部抽筋:我有一个和一个,并且试图从我的方法之一返回a ,但是出现错误(在下面的行中): 如何解决此问题而无需创建新列表? 澄清: 我不希望将列表创建为(也许是显而易见的解决方案),因为我想私下维护一个,以便将来可以访问SomeClass的方法,而不是公共接口中的方法。在下面的示例案例中没有显示,但是在我的真实程序中我需要它。 问题答案: 您应该将方法重新定义为 同样,其他列表声明。
问题内容: 将a 转换为同时保持Queue顺序的最快方法是什么? 问题答案: 最快的方法是首先使用LinkedList,它可用作列表或队列。 否则您需要复印 注意:处理PriorityQueue时,请使用循环,轮询每个元素并添加到列表中。要列出的PriorityQueue不维护堆顺序。
我正在尝试转换时区,但它增加了一天额外的java函数。 在上面的停用日期是25,当我给输入时,但在格式化后,它的转换为26,为什么有一天os得到了添加,如何避免它。