Pandas 将数据帧加载到具有int64数据类型的配置单元中
将包含数据类型为int64的列的pandas数据帧加载到配置单元表时出错 当我排除int64数据类型时,数据将加载到配置单元,但当我包含数据类型时,它将失败。B和C的数据值摘录为Pandas 将数据帧加载到具有int64数据类型的配置单元中,pandas,hadoop,hive,Pandas,Hadoop,Hive,将包含数据类型为int64的列的pandas数据帧加载到配置单元表时出错 当我排除int64数据类型时,数据将加载到配置单元,但当我包含数据类型时,它将失败。B和C的数据值摘录为1212345678 熊猫 df.dtypes A object B int64 C int64 D float6 df_s.to_parquet("data.parquet") 蜂巢 错误: 错误:java.io.IOException:…:java.lang.ClassCastExcept
1212345678
熊猫
df.dtypes
A object
B int64
C int64
D float6
df_s.to_parquet("data.parquet")
蜂巢
错误:
错误:java.io.IOException:…:java.lang.ClassCastException:org.apache.hadoop.io.LongWritable无法强制转换为org.apache.hadoop.io.IntWritable(state=,code=0)
配置单元表使用字符串而不是int时出错
错误:java.io.IOException:…:java.lang.UnsupportedOperationException:无法检查org.apache.hadoop.io.LongWritable(state=,code=0
经过,Parquet的Int64
映射到BIGINT
SQL类型。实际上,这很有效!我最初尝试了INT和string,但失败了,所以我甚至没有考虑BIGINT。同样感谢链接,对于那些感兴趣的人……你需要将float64
映射到decimal
经过,Parquet的Int64
映射到BIGINT
SQL类型。实际上,这很有效!我最初尝试了INT和string,但失败了,所以我甚至没有考虑BIGINT。感谢链接,也感谢那些感兴趣的人……您需要将float64
映射到decimal
CREATE TABLE mytable(
A string,
B int,
C int,
D string)
PARTITIONED BY (RECORD_CREATE_DT date)
STORED AS PARQUET
Load data inpath (<hdfs_path_of_file>) into table mytable partition (record_create_dt='9999-12-31');
select * from mytable;