hive:为什么CTA不能读取文件而select查询可以

gwbalxhn  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(233)

我把文件放在 /hadoop/yarn/local/usercache/root/test_abspath 想用我的自定义项读第一行。当我用 select test('ABCD','ABCD'); 我可以读这个文件,但当我用 Create table as test_tb select test(name,'ABCD') from another_table 它失败了。在第二种情况下 f1.exist() was true 但是 f1.canRead() was false 我尝试了chmod777的changin读写权限,但没有成功。
读取文件的java代码如下:

public class config {
  public static final String confFilePath = "/hadoop/yarn/local/usercache/root/test_file
  public static void init(){    
        BufferedReader br;
       try {    
            File f1 = new File(confFilePath);
            if (f1.exists())
            {   if (f1.canRead()){

                br = new BufferedReader( new FileReader( confFilePath ));
                String line;
                line = br.readLine();
                str = line;
                logger.info("inside init");
                }
                else{
                    str = "can't read";
                }
            }

万一 select test('ABCD','ACBD') 它成功地读取测试文件的第一行 Create table as test_tb select test(name,'ABCD') from another_table 它回来了 can't read 字符串。
编辑:如果这是关于添加serde.jar的,那么请重新通知我下载正确的jar。hdp沙盒版本2.6.5

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题