如何使用spark sql获取多个表

2023-12-26

我正在使用 pyspark 从 mysql 获取数据,该数据仅适用于一张表。我想从 mysql 数据库获取所有表。不想一次又一次的调用jdbc连接。请参阅下面的代码

是否可以简化我的代码?先感谢您

url = "jdbc:mysql://localhost:3306/dbname"
table_df=sqlContext.read.format("jdbc").option("url",url).option("dbtable","table_name").option("user","root").option("password", "root").load()
sqlContext.registerDataFrameAsTable(table_df, "table1")

table_df_1=sqlContext.read.format("jdbc").option("url",url).option("dbtable","table_name_1").option("user","root").option("password", "root").load()
sqlContext.registerDataFrameAsTable(table_df_1, "table2")

您需要以某种方式获取 mysql 中的表列表。 您可以找到一些 sql 命令来执行此操作,或者手动创建一个包含所有内容的文件。

然后,假设您可以在 python 中创建表名列表tablename_list,你可以像这样简单地循环它:

url = "jdbc:mysql://localhost:3306/dbname"
reader = (
    sqlContext.read.format("jdbc")
    .option("url", url)
    .option("user", "root")
    .option("password", "root")
)
for tablename in tablename_list:
    reader.option("dbtable", tablename).load().createTempView(tablename)

这将创建一个具有相同表名的临时视图。如果您想要另一个名称,您可以更改首字母tablename_list与元组列表(tablename_in_mysql, tablename_in_spark).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用spark sql获取多个表 的相关文章

随机推荐

  • \r 和 \n 有什么区别?

    How are r and n不同的 我认为这与 Unix Windows 和 Mac 有关 但我不确定它们究竟有何不同 以及在正则表达式中搜索 匹配哪些内容 他们是不同的角色 r是回车符 并且 n是换行 在 旧 打印机上 r将打印头送回行
  • 将 anticaptcha 与 selenium 集成

    我正在使用 Selenium Python 尝试填写表格 然后填写验证码 我找到了 python anticaptcha 并购买了 10 美元的积分 一切正常 验证码出现了 但什么也没发生 我花了几个小时试图寻找答案 查阅他们的 api 和
  • Android TabLayout 在启动时选择第一个选项卡

    我正在使用 Android 设计库中的 TabLayout 我有多个选项卡 每个选项卡在被选择时都有一个操作 所以我有一个属性 startSelection 它执行 tabLayout getTabAt startSelection sel
  • 如何在处理注释时写入 Gradle 日志记录?

    我有一个javax annotation processing Processor我用来生成源文件 这一切都工作正常 但我想在构建过程中将一些调试消息写入控制台 我可以使用注释Messeger类 但这不允许我利用 Gradle 日志记录 我
  • r 闪亮滑块输入轮

    我的 R 闪亮滑块输入有问题 如您所见 圆形功能 不起作用在这幅图片中 https i stack imgur com v4nd6 png 我做错什么了吗 sliderInput Er Choose expected return in p
  • 在哪里检查 android 片段中的方向变化

    在我的应用程序中 我有一个FragmentActivity与多个Fragment除了一个特定的情况外 全部处于纵向模式Fragment 我在之间移动Fragment通过页脚View是在FragmentActivity 我有不同的布局 实际上
  • 如何测试我的 Django 电子邮件视图是否可以捕获 BadHeaderError?

    我有一个带有电子邮件表单的 Django 视图 它允许用户输入主题和消息 并将其作为电子邮件发送给站点管理员 我想编写一个单元测试来确保该视图可以捕获错误标头错误 https docs djangoproject com en 1 4 to
  • SQLiteAsyncConnection UpdateWithChildren 不可用

    我正在尝试使用 SQLite net 在我的 PCL 内实现 OneToMany 关系 我有异步扩展包 SQLiteNetExtensions Async 并且我的代码基于中找到的示例https bitbucket org twincode
  • 在 Google Analytics API 中使用和查询自定义维度

    我正在尝试查询我的 Analytics 通用 以接收按自定义维度排序的指标列表 7月 Google Analytics API 博客 http analytics blogspot com 2013 07 40 new data point
  • 循环图的数据结构和算法

    我需要定义Data Structure and Algorithm for Circular Data Graph对于网络客户端 在服务器上 数据将以 2 列 CSV 格式提供 例如发送方 接收方 最终输出将呈现在JSON格式并发送到网络请
  • 以编程方式设置约束

    我正在尝试如何使用 UIScrollView 经过一番折腾 我终于掌握了窍门 但现在我似乎遇到了另一个障碍 在这个简单的应用程序中 我有一个滚动视图 为了使其工作 我必须将视图的底部空间设置为滚动视图约束为 0 如上所述here https
  • Kotlin 有恒等函数吗?

    Scala 有一个泛型identityPredef 中的函数 def identity A x A A Kotlin 在标准库中有类似的工具吗 当然我可以简单地使用 it 相反 但我发现identity更容易阅读 并且实例化所有这些 lam
  • 根据用户角色和产品类别应用不同的税(Woocommerce)

    如果用户具有特定角色 但仅限于某些产品类别 我需要应用不同的税 示例 如果具有 Vip 角色的客户 A 购买 Bravo 或 Charlie 类别的商品 则适用的税费将为 4 而不是 22 这是我写的代码 另一部分是在谷歌上找到的 但我不明
  • 猫鼬更新 MongoDB 中的字段不起作用

    我有这个代码 var UserSchema new Schema Username type String index true Password String Email String Points type Number default
  • 重置 MySqli 指针?

    我在重置指针方面遇到了一些困难 我想这样做是因为我将在同一脚本中使用同一查询两次 据我所知 我可以在循环获取数组后重置指针来做到这一点 如果有更好的方法来做到这一点 我很想听听 无论如何 这就是我得到的 getEvent connectio
  • 设置默认样式键的方法之间的差异

    我正在创建一个自定义控件 源自Control 并想要为控件定义默认主题 以前我创建的所有自定义控件 我都使用过 static IntegerUpDown DefaultStyleKeyProperty OverrideMetadata ty
  • UIScrollView setContentSize 因未捕获的 NSRangeException 崩溃

    删除 UIScrollView 的某些内容后 调用 setContentSize 会使应用程序崩溃 int toolbarHeight self navigationController toolbar frame size height
  • Android Fragments API 无法正确显示背景 9patch 图像

    我正在将现有的 Android 应用程序以及片段 API 和兼容性库移植到 honeycomb 我使用相同的布局 但将其加载到片段中 背景是 9 块图像 但现在仅覆盖屏幕的左上四分之一 背景的其余部分是白色的 如果我将背景更改为十六进制颜色
  • 如何更新 phpunit?

    我已经尝试过了一切 包括https stackoverflow com a 8740349 251311 https stackoverflow com a 8740349 251311以及所有可能的通道升级和清除缓存命令 但仍然 sudo
  • 如何使用spark sql获取多个表

    我正在使用 pyspark 从 mysql 获取数据 该数据仅适用于一张表 我想从 mysql 数据库获取所有表 不想一次又一次的调用jdbc连接 请参阅下面的代码 是否可以简化我的代码 先感谢您 url jdbc mysql localh