apache-spark - 另一个 Spark 会话中的空数据库
问题描述
我是 Spark 的新手,正在尝试查看/分析在另一个会话中创建的表/视图。分析将来自 Tableau/excel/ODBC 等程序。因此,单独的会话。
问题:能够创建表,但是当我从另一个会话(pyspark 或 ODBC 连接)连接到服务器时,默认数据库中没有表。
如何让它工作?
步骤:在 linux 机器上使用 pyspark 在一个会话中创建一个表:
Spark context available as 'sc' (master = spark://172.22.134.97:7077, app id = app-20210620211601-0002).
SparkSession available as 'spark'.
>>>df = spark.read.parquet("CreditCard.parquet")
>>>df.createOrReplaceTempView("table1")
>>>df.cache()
>>>df.persistent()
>>> spark.sql('show tables from default').show()
+--------+---------+-----------+
|database|tableName|isTemporary|
+--------+---------+-----------+
| | table1| true|
+--------+---------+-----------+
打开另一个pyspark环境:
Spark context available as 'sc' (master = spark://172.22.134.97:7077, app id = app-20210620212140-0003).
SparkSession available as 'spark'.
>>> spark.sql('show tables from default').show()
+--------+---------+-----------+
|database|tableName|isTemporary|
+--------+---------+-----------+
+--------+---------+-----------+
环境:ubuntu(wsl2)上的 spark-3.1.2-bin-hadoop3.2 作为独立模式运行(我认为)。
spark.default.conf:
spark.master spark://172.22.134.97:7077
spark.sql.warehouse.dir /mnt/e/DataEngineer/metastore_db
工人.conf:
localhost
启动:
./start-master.sh --ip 172.22.134.97 --port 7077
./start-worker.sh spark://172.22.134.97:7077
能够在 spark master web gui 中看到 1 个工作人员。
也尝试过df.createOrReplaceTempGlobalView("table1")
(并查看 global_temp 数据库)
解决方案
推荐阅读
- jenkins-pipeline - 无法在 Jenkins 中收集机器人框架报告
- postgresql - postgres 安装错误 post-bootstrap 致命:无效的字节序列
- c# - 我使用 OleDbCommand 和 OleDbDataAdapter 提取 excel 数据,但日期格式字段不一样。C#
- python - 在函数中反转全局变量——Python
- numpy - 我可以使用 numpy 为一组 x,y 值绘制多项式图吗?
- android - OneSignal 导致布局预览问题
- ros - 如何将点云 (.ply) 转换为 Gazebo 世界?
- php - 页面浏览量 LARAVEL
- pdf - 使用 Graph API 将带有 HTML 的 .docx 转换为 PDF 时出错
- elasticsearch - 策展人不删除旧索引