Pyspark 在配置单元中将数据从一个表加载到另一个表
我在配置单元中有一个名为a.table1的表,它有id、name和class列,并且完全加载了数据Pyspark 在配置单元中将数据从一个表加载到另一个表,pyspark,hive,apache-spark-sql,hiveql,create-table,Pyspark,Hive,Apache Spark Sql,Hiveql,Create Table,我在配置单元中有一个名为a.table1的表,它有id、name和class列,并且完全加载了数据 id name class 1 a 1 11 b 14 我想从a.table1创建一个新的表b.table2,该表包含id、name、class和status字段。 当id小于10时,类和状态将具有相同的值,否则值将为0 id name class status 1 a 1 1 11 b 14 0 我正在做的是创建一个表: CREAT
id name class
1 a 1
11 b 14
我想从a.table1创建一个新的表b.table2,该表包含id、name、class和status字段。
当id小于10时,类和状态将具有相同的值,否则值将为0
id name class status
1 a 1 1
11 b 14 0
我正在做的是创建一个表:
CREATE TABLE IF NOT EXISTS b.table2(
id BIGINT,
name string,
class int,
status int
)
如何加载表中的内容?还是有更好的方法
spark = SparkSession.builder.enableHiveSupport().getOrCreate()
sc = spark.sparkContext
sqlContext = spark._wrapped
只需选择并将结果插入表2中:
insert into b.table2 (
select *, case when id < 10 then class else 0 end as status from a.table1
);
将在单个语句中创建和加载表:
CREATE TABLE table2 AS
select id, name, class, status
from table1;