Java大数据

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:

大数据(像数据库中插入图片)


import java.sql.SQLException;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;

public class TestPIC {

protected Shell shell;
private Text text;

/**
 * Launch the application.
 * @param args
 */
public static void main(String[] args) {
    try {
        TestPIC window = new TestPIC();
        window.open();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

/**
 * Open the window.
 */
public void open() {
    Display display = Display.getDefault();
    createContents();
    shell.open();
    shell.layout();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
            display.sleep();
        }
    }
}

/**
 * Create contents of the window.
 */
protected void createContents() {
    shell = new Shell();
    shell.setSize(450, 300);
    shell.setText("SWT Application");

    Label label = new Label(shell, SWT.NONE);
    label.setBounds(20, 95, 61, 17);
    label.setText("头像");

    text = new Text(shell, SWT.BORDER);
    text.setBounds(113, 95, 192, 23);

    Button button = new Button(shell, SWT.NONE);
    button.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            FileDialog dialog = new FileDialog(shell,SWT.OPEN);   
            String basepath=System.getProperty("user.home");//设置 初始路径
            dialog.setFilterPath(basepath);
            dialog.setFilterExtensions(new String[]{"*.jpg","*.jpeg","*.png"});  //它使用指定的扩展名集合进行过滤
            String fileName = dialog.open();

            if(fileName==null||"".equals(fileName)){
                return;
            }
            text.setText(fileName);




        }
    });
    button.setBounds(344, 91, 80, 27);
    button.setText("浏览");

    Button button_1 = new Button(shell, SWT.NONE);
    button_1.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            String picpath=text.getText().trim();

            PicBiz pb=new PicBiz();

            try {
                pb.savePic(picpath);
            } catch (Exception e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
        }
    });
    button_1.setBounds(168, 156, 80, 27);
    button_1.setText("保存");

}

}
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.UUID;

import com.yc.dao.dbhelper;

public class PicBiz {
public void savePic(String picpath) throws SQLException {
String picid=UUID.randomUUID().toString();
dbhelper db= new dbhelper();
String sql=”insert into pic values(?,empty_blob())”;

    String sql2="select pic from pic where picid=? for update";//for update 锁定这一行数据
            Connection con=null;
    try {
        con=db.getCon();
        con.setAutoCommit(false);//关闭隐式提交

        PreparedStatement pstmt=con.prepareStatement(sql);//创建语句对象 ,发给数据库执行

        pstmt.setString(1, picid);//设置参数
        pstmt.execute();//数据库执行语句

         pstmt=con.prepareStatement(sql2);

        pstmt.setString(1, picid);
        pstmt.execute();

        ResultSet rs=pstmt.executeQuery(); //得到数据库中语句执行的结果集

        if(rs!=null&&rs.next()){
            OutputStream oos=null;//像数据库表中输出图片
            InputStream iis=null;//从本地读文件

            oracle.sql.BLOB b= (oracle.sql.BLOB) rs.getBlob(1);//取出图片所在位置
            iis=new BufferedInputStream(new FileInputStream(new File (picpath)));//通过输入流读取图片数据
            oos=b.getBinaryOutputStream();//从结果集中取出输入流 用于向数据库写数据


            byte[] bs=new byte[1024];
            int length=-1;
            while(( length=iis.read(bs,0,bs.length))!=-1){
                oos.write(bs,0,length);
                oos.flush();
            }
            con.commit();


        }
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        con.rollback();
    } finally{
        con.setAutoCommit(true);
    }
    }

}

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
25天前
|
分布式计算 Java MaxCompute
ODPS MR节点跑graph连通分量计算代码报错java heap space如何解决
任务启动命令:jar -resources odps-graph-connect-family-2.0-SNAPSHOT.jar -classpath ./odps-graph-connect-family-2.0-SNAPSHOT.jar ConnectFamily 若是设置参数该如何设置
|
2月前
|
分布式计算 大数据 Java
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
26 1
大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
|
2月前
|
消息中间件 分布式计算 Java
大数据-73 Kafka 高级特性 稳定性-事务 相关配置 事务操作Java 幂等性 仅一次发送
大数据-73 Kafka 高级特性 稳定性-事务 相关配置 事务操作Java 幂等性 仅一次发送
31 2
|
2月前
|
消息中间件 存储 Java
大数据-58 Kafka 高级特性 消息发送02-自定义序列化器、自定义分区器 Java代码实现
大数据-58 Kafka 高级特性 消息发送02-自定义序列化器、自定义分区器 Java代码实现
46 3
|
2月前
|
分布式计算 Java 大数据
大数据-147 Apache Kudu 常用 Java API 增删改查
大数据-147 Apache Kudu 常用 Java API 增删改查
33 1
|
2月前
|
消息中间件 Java 大数据
大数据-56 Kafka SpringBoot与Kafka 基础简单配置和使用 Java代码 POM文件
大数据-56 Kafka SpringBoot与Kafka 基础简单配置和使用 Java代码 POM文件
70 2
|
2月前
|
分布式计算 Java 大数据
大数据-122 - Flink Time Watermark Java代码测试实现Tumbling Window
大数据-122 - Flink Time Watermark Java代码测试实现Tumbling Window
35 0
|
2月前
|
存储 机器学习/深度学习 分布式计算
大数据技术——解锁数据的力量,引领未来趋势
【10月更文挑战第5天】大数据技术——解锁数据的力量,引领未来趋势
|
13天前
|
存储 分布式计算 数据挖掘
数据架构 ODPS 是什么?
数据架构 ODPS 是什么?
106 7
|
13天前
|
存储 分布式计算 大数据
大数据 优化数据读取
【11月更文挑战第4天】
29 2
下一篇
无影云桌面