小编Nil*_*kar的帖子

使用try-with-resources时需要flush()调用

会隐含地try-with-resources打个电话flush()吗?

如果是,请在以下代码段bw.flush()中安全删除?

static void printToFile1(String text, File file) {
    try (BufferedWriter bw = new BufferedWriter(new FileWriter(file))) {
        bw.write(text);
        bw.flush();
    } catch (IOException ex) {
        // handle ex
    }
}
Run Code Online (Sandbox Code Playgroud)

PS.我在官方文件中没有看到任何关于它的描述:

https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html https://docs.oracle.com/javase/8/docs/api/java/lang/Au​​toCloseable.html

java try-with-resources

20
推荐指数
3
解决办法
7189
查看次数

Sqoop Import --password-file函数在sqoop 1.4.4中无法正常工作

我使用的是hadoop-1.2.1,sqoop版本是1.4.4.

我正在尝试运行以下查询.

sqoop import --connect jdbc:mysql://IP:3306/database_name --table clients --target-dir /data/clients --username root --password-file /sqoop.password -m 1
Run Code Online (Sandbox Code Playgroud)

sqoop.password/sqoop.password具有权限400的路径中保存在HDFS上的文件.

它给了我一个错误

Access denied for user 'root'@'IP' (using password: YES)
Run Code Online (Sandbox Code Playgroud)

谁能为此提供解决方案?提前致谢.

mysql hadoop sqoop

13
推荐指数
2
解决办法
8751
查看次数

Javascript Regular Expression第一次工作正常,但不是第二次,第三次工作,而不是第四次,依此类推

Javascript正则表达式第一次工作正常,但不是第二次,第三次工作,而不是第四次等等:(

脚本:

<script language="javascript" type="text/javascript">
    var reg = /[^\w]/gi;
    function checkNonWordChars() {
        var str = $("#TestTextbox").val();
        if (reg.test(str)) {
            alert('!!! Non-Word Char Exists !!!');
        }
        else {
            alert('input accepted');
        }
    }    
</script>
Run Code Online (Sandbox Code Playgroud)

HTML:

<input type="text" id="TestTextbox"  />
<input type="button" value="Test" onclick="checkNonWordChars();" />
Run Code Online (Sandbox Code Playgroud)

如果我点击按钮一次,它会发出警告说"!!! 非单词字符存在!!!"但如果我再次点击它,它将发出警告说"输入已接受":(

javascript regex jquery

12
推荐指数
2
解决办法
1919
查看次数

无法使用密钥dfs.encryption.key.provider.uri找到uri来为CDH 5.4创建HDFS加密的keyProvider

CDH版本:CDH5.4.5

问题:使用Hadoop CDH 5.4中提供的KMS启用HDFS加密时,将文件放入加密区时会出现错误.

脚步:

加密Hadoop的步骤如下:

  1. 创建密钥[SUCCESS]

    [tester@master ~]$ hadoop key create 'TDEHDP' 
    -provider kms://https@10.1.118.1/key_generator/kms -size 128
    tde group has been successfully created with options 
    Options{cipher='AES/CTR/NoPadding', bitLength=128, description='null', attributes=null}.
    KMSClientProvider[https://10.1.118.1/key_generator/kms/v1/] has been updated.
    
    Run Code Online (Sandbox Code Playgroud)

2.创建目录[SUCCESS]

[tester@master ~]$ hdfs dfs -mkdir /user/tester/vs_key_testdir
Run Code Online (Sandbox Code Playgroud)
  1. 添加加密区[成功]

    [tester@master ~]$ hdfs crypto -createZone -keyName 'TDEHDP' 
    -path /user/tester/vs_key_testdir
    Added encryption zone /user/tester/vs_key_testdir
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将文件复制到加密区[错误]

    [tdetester@master ~]$ hdfs dfs -copyFromLocal test.txt /user/tester/vs_key_testdir
    
    Run Code Online (Sandbox Code Playgroud)

15/09/04 06:06:33错误hdfs.KeyProviderCache:用密钥[dfs.encryption.key.provider.uri]找不到uri来创建keyProvider !! copyFromLocal:没有配置KeyProvider,无法访问加密文件15/09/04 06:06:33错误hdfs.DFSClient:无法关闭inode 20823 org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs. server.namenode.LeaseExpiredException):/user/tester/vs_key_testdir/test.txt上没有租约.COPYING(inode 20823):文件不存在.持有人DFSClient_NONMAPREDUCE_1061684229_1没有任何打开的文件.

任何想法/建议都会有所帮助.

encryption hadoop copy hdfs cloudera-cdh

8
推荐指数
1
解决办法
1万
查看次数

Xamarin Android添加按钮文本全部大写 - 如何在整个应用程序中应用样式?

我是移动开发的新手,我正在使用Xamarin工作室开发一个简单的应用程序,并在我的页面上添加了几个按钮.我注意到当我在模拟器(Android 5.0.1 - API 21)中运行时,所有按钮文本都出现在CAPITAL LETTERS中.

我已经关注为什么我的按钮文字被强制在Lollipop上的所有大写?并尝试添加<item name="android:textAllCaps">false</item>我的style.xml但它没有任何区别.

还检查为什么我的按钮文字强制在棒棒糖上的所有大写?Android 5.0(Lollipop)小部件按钮的文本都在全部大写.

如果我添加android:textAllCaps = "false"到我的所有按钮(在我的axml文件中)然后它将工作,但我想知道整个应用程序中的所有按钮的通用样式(甚至多种形式/活动)

任何人都可以建议在整个应用程序中使用某种样式的方法吗?

谢谢.

android xamarin android-styles

7
推荐指数
1
解决办法
3429
查看次数

确定值列表是否完全满足一对多关系的最有效方法(MySQL)

我和房间之间有一对多的关系:

Room | User
1    | 1
1    | 2
1    | 4
2    | 1
2    | 2
2    | 3
2    | 5
3    | 1
3    | 3
Run Code Online (Sandbox Code Playgroud)

给定一个用户列表,例如1,3,确定哪个房间完全/完全由他们填充的最有效方法是什么?所以在这种情况下,它应该返回3号房间,因为虽然它们都在2号房间,但是2号房间也有其他居住者,这不是一个"完美"的契合.

我可以想到几个解决方案,但我不确定效率.例如,我可以按用户(按升序排序)分组连接组,这将为我提供逗号分隔的字符串,如"1,2,4","1,2,3,5"和"1, 3" .然后我可以命令我的输入列表升序并寻找与"1,3"的完美匹配.

或者我可以计算一个房间中的用户总数并包含用户1和3.然后,我将选择具有等于2的用户数的房间.

注意我想要最有效的方式,或者至少可以扩展到数百万用户和房间.每个房间将有大约25个用户.我想要考虑的另一件事是如何将此列表传递给数据库.我应该通过连接AND userid = 1 AND userid = 3 AND userid = 5等构建查询吗?或者有没有办法将值作为数组传递给存储过程?

任何帮助,将不胜感激.

php mysql database relational-database

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

当session.flush()在SQLAlchemy上失败时,我应该调用回滚吗?

我知道在块session.commit()失败时调用回滚try-except.
但是当session.flush()失败时,我应该执行rollback()吗?

try:
    session.flush()
except IntegrityError:
    session.rollback()
Run Code Online (Sandbox Code Playgroud)

python mysql postgresql sqlalchemy

5
推荐指数
2
解决办法
1288
查看次数