Apache spark sparksql-使用CAST连接STRING和BIGINT上的两个表
我有一个配置单元查询,它使用一个在一个表中声明为String,在另一个表中声明为BIGINT的值连接两个表。实际数据在String和BIGINT中都是相同的 此查询在配置单元中运行良好Apache spark sparksql-使用CAST连接STRING和BIGINT上的两个表,apache-spark,hive,apache-spark-sql,Apache Spark,Hive,Apache Spark Sql,我有一个配置单元查询,它使用一个在一个表中声明为String,在另一个表中声明为BIGINT的值连接两个表。实际数据在String和BIGINT中都是相同的 此查询在配置单元中运行良好 SELECT TABLE1.* FROM TABLE1 LEFT OUTER JOIN TABLE2 ON TABLE1.<STRING COLUMN> = cast(TABLE2.<BIGINT COLUMN> as string) 看起来不像是因为强制转换(bigint
SELECT TABLE1.*
FROM TABLE1 LEFT OUTER JOIN TABLE2
ON TABLE1.<STRING COLUMN> = cast(TABLE2.<BIGINT COLUMN> as string)
看起来不像是因为
强制转换(bigint作为字符串)
。它说文本不能是LongWritable的大小写
,但是如果我删除join子句,我就不会收到这个错误消息。
hiveContext.sql("""SELECT TABLE1.*
FROM TABLE1 LEFT OUTER JOIN TABLE2
ON TABLE1.<STRING COLUMN> = cast(TABLE2.<BIGINT COLUMN> as string)""")
java.lang.ClassCastException: org.apache.hadoop.io.Text cannot be cast to org.apache.hadoop.io.LongWritable