Ric*_*mer 1 apache-spark pyspark spark-dataframe
我正在研究一个简单的Spark脚本,并遇到将数据放到我想要的问题,并使工作正常工作的问题.具体来说,我需要在将数据帧注册到临时表时指定表的数据库.
df_del_records,df_add_records,df_exclusion_records=get_new_records(dff)
df_del_records.registerTempTable("db.update_deletes_temp_table")
df_add_records.registerTempTable("db.update_adds_temp_table")
df_exclusion_records.registerTempTable("db.exclusions_temp_table")
sqlContext.sql("insert overwrite table db.automated_quantity_updates select * from db.update_deletes_temp_table")
sqlContext.sql("insert into table db.automated_quantity_updates select * from db.update_adds_temp_table")
sqlContext.sql("insert into table db.exclusions select * from db.exclusions_temp_table")
Run Code Online (Sandbox Code Playgroud)
上面的代码运行没有错误,但不会产生任何结果.删除数据库会产生结果,但这在生产中不起作用,因为必须存储临时表的数据库不是Spark正在使用的默认值.如何在Spark 1.6中将临时表注册到临时表时,临时表需要指定哪个数据库?
由任何数据库创建registerTempTable或createOrReplaceTempView与之无关的临时表/视图.它只是根据数据框的创建方式创建一个包含查询计划的数据框视图.
本地临时视图是会话范围的.它的生命周期是创建它的会话的生命周期,即它会在会话终止时自动删除.它不依赖于任何数据库,即我们不能用于
db1.view1引用本地临时视图.
我强调的是.
| 归档时间: |
|
| 查看次数: |
650 次 |
| 最近记录: |