会隐含地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/AutoCloseable.html
我使用的是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)
谁能为此提供解决方案?提前致谢.
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)
如果我点击按钮一次,它会发出警告说"!!! 非单词字符存在!!!"但如果我再次点击它,它将发出警告说"输入已接受":(
问题:使用Hadoop CDH 5.4中提供的KMS启用HDFS加密时,将文件放入加密区时会出现错误.
脚步:
加密Hadoop的步骤如下:
创建密钥[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)
添加加密区[成功]
[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)将文件复制到加密区[错误]
[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没有任何打开的文件.
任何想法/建议都会有所帮助.
我是移动开发的新手,我正在使用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文件中)然后它将工作,但我想知道整个应用程序中的所有按钮的通用样式(甚至多种形式/活动)
任何人都可以建议在整个应用程序中使用某种样式的方法吗?
谢谢.
我和房间之间有一对多的关系:
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等构建查询吗?或者有没有办法将值作为数组传递给存储过程?
任何帮助,将不胜感激.
我知道在块session.commit()失败时调用回滚try-except.
但是当session.flush()失败时,我应该执行rollback()吗?
try:
session.flush()
except IntegrityError:
session.rollback()
Run Code Online (Sandbox Code Playgroud) mysql ×3
hadoop ×2
android ×1
cloudera-cdh ×1
copy ×1
database ×1
encryption ×1
hdfs ×1
java ×1
javascript ×1
jquery ×1
php ×1
postgresql ×1
python ×1
regex ×1
sqlalchemy ×1
sqoop ×1
xamarin ×1