从java中删除hdfs文件夹

在边缘节点上运行的Java应用程序中,我需要删除hdfs文件夹(如果存在)。 我需要在运行在文件夹中输出的mapreduce作业(带有spark)之前执行此操作。 我发现我可以使用这种方法 org.apache.hadoop.fs.FileUtil.fullyDelete(new File(url)) 但是,我只能使用本地文件夹(即正在运行的计算机上的文件URL)。 我尝试使用类似的东西: url = “hdfs://hdfshost:port/the/folder/to/delete”; 使用hdfs://hdfshost:port是hdfs namenode IPC。 我用它来mapreduce,所以它是正确的。 但它没有做任何事情。 那么,我应该使用什么url,还是有其他方法? 注意: 这是一个简单的项目。

ListView行按钮:如何创建一个自定义适配器,将View.OnClickListener连接到ListView的每一行上的按钮?

我希望我的ListView包含按钮,但设置按钮的xml属性,onClick =“myFunction”,然后在活动中放置一个public void myFunction(android.view.View视图)方法会导致NoSuchMethodException(堆栈跟踪为null)抛出,因为虽然onclick监听器在那里,它不会触发myFunction(…)并导致活动关闭。 如何创建将View.OnClickListener连接到ListView的每一行上的按钮的自定义适配器? 我的ListView创建如下…… [activity.java content ..] public void myFunction(android.view.View view) { //Do stuff } [activity.xml内容..] [activity_row_item.xml内容..]

向/从SQL数据库(例如H2)插入和获取java.time.LocalDate对象

如何通过JDBC将诸如LocalDate类的java.time类型插入到SQL数据库(如H2数据库引擎)中 ? 使用PreparedStatement::setDate和ResultSet::getDate的旧方法适用于旧的java.sql.Date类型。 我想避免使用这些麻烦的旧日期时间类。 通过JDBC驱动程序发送java.time类型的现代方法是什么?

使用PipedInputStream java编写end dead exception

在以下情况下发生写入结束exception:两个线程: A: PipedOutputStream put = new PipedOutputStream(); String msg = “MESSAGE”; output.wirte(msg.getBytes()); output.flush(); B: PipedInputStream get = new PipedOutputStream(A.put); byte[] get_msg = new byte[1024]; get.read(get_msg); 情况如下:A和B同时运行,A写入管道,B读取它。 B只是从管道中读取并清除了该管道的缓冲区。 然后A不会在未知的时间间隔内将msg写入管道。 但是,在某一时刻,B再次读取管道并发生java.io.IOException: write end dead ,因为管道的缓冲区仍为空。 而且我不想睡眠()线程B等待A写管道,这也是不稳定的。 如何避免这个问题并解决它? 谢谢

MySQL连接超时

我正在apache tomcat服务器上运行程序,应该是永久性的,但每天早上(客户端部分在晚上无法访问)我收到MySQL服务器关闭的错误消息(在apache tomcat控制台中)。 那么有什么方法可以防止这种情况发生? 提前致谢!

从Java中的字符串中有效删除特定字符(一些标点符号)?

在Java中,从String中删除给定字符的最有效方法是什么? 目前,我有这个代码: private static String processWord(String x) { String tmp; tmp = x.toLowerCase(); tmp = tmp.replace(“,”, “”); tmp = tmp.replace(“.”, “”); tmp = tmp.replace(“;”, “”); tmp = tmp.replace(“!”, “”); tmp = tmp.replace(“?”, “”); tmp = tmp.replace(“(“, “”); tmp = tmp.replace(“)”, “”); tmp = tmp.replace(“{“, “”); tmp = tmp.replace(“}”, “”); tmp = tmp.replace(“[“, “”); tmp = […]

从JSON对象填充JTable

我已经成功创建了REST服务并访问了MS SQL数据库,我也获得了JSON对象,并且我还在NetBeans普通java应用程序中为REST客户端创建了GUI。 而不是客户端访问数据库和直接获取数据,我想要的是从收到的JSON对象填充JTable 。 你的帮助真的很感激。 客户端代码是这样的。 这只是在控制台中打印它。 public void getJSONEmployees() { try { Client cl = Client.create(); WebResource webResource = cl .resource(“http://localhost:8080/rest_server/rest/jersey/dbAccess/getDBVal”); ClientResponse response = webResource.accept(“application/json”) .get(ClientResponse.class); if (response.getStatus() != 200) { System.out.println(“no out put”); throw new RuntimeException(“Failed : HTTP error code : ” + response.getStatus()); } String output = response.getEntity(String.class); // String[] output = […]

使用升序将元素插入ArrayList并且没有重复元素

我有一个家庭作业,我需要插入或添加新的元素到ArrayList与以下条件: 元素必须按升序排列 。 ArrayList 没有重复的元素 插入方法在O(n)次运行。 这是我在添加新元素之前检查重复元素的insert方法。 public void insert(int x){ //effect: Check duplicate elements if not x to the elements; boolean found = false; if(super.size()!=0){ for(int i=0; i<super.size(); i++){ if(super.get(i)==x){ found = true; } } } if(found){ return; } else{ super.add(x); } } 我该怎么做? 谢谢。 加成 这是我的类名InSetExtra public class IntSetExtra extends ArrayList { private […]

Java 8将Map <Integer,List >转换为Map <String,List > with

我有一个Map是一个值列表的映射,但我需要反转它以便 Map<Integer, List> 变 Map<String, List> 比如我有 1 -> { A, B, C } 2 -> { B } 3 -> { A, C } 而且我想看 A -> { 1, 3 } B -> { 1, 2 } C -> { 1, 3 } 在Java 8中是否有更简单的方法来执行此操作,而不是迭代遍历映射条目并创建一个不存在的set条目,并添加到列表等? 我一直认为这很明显,但我无法解决这个问题。 提前致谢

通过网络路径读取文件

当我使用时,我有这个奇怪的问题 File FileToRead = new File(“\\\\MYSERVER\\MYFOLDER\\MYFOLDER\\MYPICTURE.JPG”); 通过网络读取文件,我得到的只是空指针exception。 通常情况下,本地路径可以使用它,但是当在网络路径上时,我无法设法让它工作。 有任何想法吗? PS:哦,我的网络连接似乎工作,在Windows资源管理器访问数据时没有问题… 更多代码: File FileToRead = new File(“file://DOKSERVICE/Somefolder/ProductImage/01001.JPG”); //File FileToRead = new File(“c:\\dog.jpg”); local test BufferedImage image = ImageIO.read(FileToRead); BufferedImage resizedimage = new BufferedImage(260, 260,BufferedImage.TYPE_INT_RGB ); Graphics2D g = resizedimage.createGraphics(); g.drawImage(image, 0, 0, 260, 260, null); g.dispose(); picture.setIcon(new ImageIcon(image));