When custom SerDe need to load a DLL file added using "ADD FILE" command in HIVE, the loading fail with exception like "java.lang.UnsatisfiedLinkError:C:\tmp\admin2_6996@headnode0_201401100431_resources\hello.dll: Access is denied".
The reason is when FileSystem creating local copy of the file, the permission of local file is set to default as "666". DLL file need "execute" permission to be loaded successfully.
Similar scenario also happens when Hadoop localize files in distributed cache. The solution in Hadoop is to add "execute" permission to the file after localizationl.