小编mis*_*spp的帖子

Spark案例类 - 十进制类型编码器错误"无法从十进制上升"

我正在从MySQL/MariaDB中提取数据,并且在创建数据集期间,数据类型会出错

线程"main"中的异常org.apache.spark.sql.AnalysisException:无法AMOUNT从十进制(30,6)向十进制(38,18)进行强制转换,因为它可能会截断目标对象的类型路径为: - field(class) :"org.apache.spark.sql.types.Decimal",名称:"AMOUNT") - 根类:"com.misp.spark.Deal"您可以向输入数据添加显式强制转换或选择更高的精度目标对象中字段的类型;

案例类定义如下

case class
(
AMOUNT: Decimal
)
Run Code Online (Sandbox Code Playgroud)

任何人都知道如何解决它而不是触摸数据库?

scala apache-spark apache-spark-sql

7
推荐指数
2
解决办法
8742
查看次数

使用 Spark 进行逐行顺序处理,无需 map 和 reduce

我正在研究 Spark 作为一种可能的计算工具,但无法找到我想到的用例的示例。我想要做的有点与 map 和 reduce(至少在第一步中)相反,这可能使 Spark 成为该工作的错误工具,所以在我忽略它之前,我想在这里检查是否有人有一些好主意可以做到。

数据流看起来像这样:

  1. 想法是将一个巨大的表格结构作为输入,然后将其拆分到计算节点集群中(它可以作为文本文件加载,也可以在数据库中)
  2. 对于这个输入结构中的每一行,都会有一个逻辑来对行的内容进行分类(例如,如果它是抵押贷款、活期账户或其他东西)
  3. 分类后开始计算给定类别的分期付款。现在,问题来了 - 我不确定 Spark 是否可以执行这种计算:一个输入行可以产生数百个结果行,例如 4 个最小列:原始行 ID、日期、金额 1、金额 2
  4. 将输出保存到新表中
  5. 然后,将新表与其他几个表组合并应用地图并减少结果

当然,计算应该在计算节点上完成,因此它可以并行工作,我只想移动数据一次 - 这意味着输入表的单个块将仅由单个节点处理。

这可行吗?如果不是,是否有替代方案可用于此目的并与 Spark 集成?

hadoop apache-spark pyspark

5
推荐指数
1
解决办法
4088
查看次数

在rust和gtk4中,为什么gtk::Label不满足gtk::Widget?

我正在尝试使用 gtk4 绑定来学习 rust,并决定尝试ListStore作为ListBox. 为了绑定模型,Widget需要返回的函数,但我需要一个Label. Label为什么继承Widget(实现IsA<Widget>)的 也不能满足Widget类型?

错误:

error[E0308]: mismatched types
  --> src/main.rs:22:5
   |
21 | fn create_widget<'r>(label: &'r Object) -> Widget {
   |                                            ------ expected `gtk4::Widget` because of return type
22 |     Label::new(Some(label.property_value("name").get().unwrap()))
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `gtk4::Widget`, found struct `gtk4::Label`
Run Code Online (Sandbox Code Playgroud)

完整代码:

use gtk::prelude::*;
use gtk::{Application, ApplicationWindow, Paned, Label, Orientation, ListBox, ListBoxRow, Widget};
use gtk::gio::ListStore;
use gtk::glib::Type;
use gtk::glib::Object;


fn main() {
    println!("Hello, world!");// …
Run Code Online (Sandbox Code Playgroud)

rust gtk-rs gtk4

3
推荐指数
1
解决办法
590
查看次数

jdialog进入并逃脱不工作

上下文:我正在尝试使用一个条件创建模态JDialog并使用自定义按钮复制JOptionPane功能 - 我不想使用UIManager来设置窗口样式.

问题:JDialog没有像它应该的那样回答ESCAPE和ENTER键.我已经尝试了所有我可以在网上找到的解决方案(多个听众解决方案,设置默认按钮等),我无法让它工作.

全班上传到pastebin,网址http://pastebin.com/Kcj82h2i

扩展JDialog类中的实际键设置已完成

InputMap inputMap = getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
ActionMap actionMap = getRootPane().getActionMap(); 

inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "returnyes");
actionMap.put("returnyes", new ResultYes());

inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "returnno");
actionMap.put("returnno", new ResultNo());
Run Code Online (Sandbox Code Playgroud)

然后使用以下代码从JFrame调用该对话框:

if (results == 1)
{
    InvoiceLinesTableModel tm = (InvoiceLinesTableModel) tbl_invoiceItems.getModel();
    InvoiceLinesTableRow row = tm.getRow(tbl_invoiceItems.getSelectedRow());
    tm.deleteRow(row);
    tm.fireTableDataChanged();
    StaticFunctions.updateTableRowHeights(tbl_invoiceItems);
}
Run Code Online (Sandbox Code Playgroud)

救命?

java swing escaping enter key-bindings

2
推荐指数
1
解决办法
921
查看次数