<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: SAS/ACCESS to Hadoop libname read returns java errors in SAS Data Management</title>
    <link>https://communities.sas.com/t5/SAS-Data-Management/SAS-ACCESS-to-Hadoop-libname-read-returns-java-errors/m-p/319993#M9191</link>
    <description>&lt;P&gt;Hi Jeff Bailey (from many moons ago testing SAS/ACCESS)!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm tracking down how we got hold of the JAR files we point to, since I wasn't involved in this end of the process. Knox was not installed as part of our HDP cluster.&lt;/P&gt;
&lt;P&gt;After an adjustment on the Hive serve node by our IT department this morning, my original PROC SQL step still failed. I decided to add&lt;/P&gt;
&lt;P&gt;the read_method=jdbc option to the Libname statement, and the PROC SQL step now works. From the S/A doc, there is no default for&lt;BR /&gt;the read_method= option but if I remove it comepletely or assign read_method=hdfs, it fails with errors as listed in original post.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Does read_method=jdbc bypass need to use JAR files?&lt;/P&gt;</description>
    <pubDate>Mon, 19 Dec 2016 18:48:06 GMT</pubDate>
    <dc:creator>MALIGHT</dc:creator>
    <dc:date>2016-12-19T18:48:06Z</dc:date>
    <item>
      <title>SAS/ACCESS to Hadoop libname read returns java errors</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/SAS-ACCESS-to-Hadoop-libname-read-returns-java-errors/m-p/319014#M9169</link>
      <description>&lt;P&gt;We are using SAS 9.4TS1M2 and Hortonworks 2.5 Hadoop cluster.&amp;nbsp; Our libname stmt is working:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;24&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; options set=SAS_HADOOP_JAR_PATH ="/sas/sashome/SAS_HADOOP_JAR_PATH";&lt;BR /&gt;25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;26&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libname hdp hadoop server='hwnode-05.hdp.ateb.com' port=10000&lt;BR /&gt;26&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! schema=patient user=hive password=XXXX SUBPROTOCOL=hive2;&lt;BR /&gt;NOTE: Libref HDP was successfully assigned as follows: &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Engine:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HADOOP &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Physical Name: jdbc:hive2://hwnode-05.hdp.ateb.com:10000/patient&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But Proc SQL is not reading from Hadoop:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;24&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc sql;&lt;BR /&gt;25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select * from hdp.atebpatient where clientid=4 and&lt;BR /&gt;25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! atebpatientid=xxxxxxxxxxx;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;One user gets these errors:&lt;/P&gt;
&lt;P&gt;ERROR: javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found&lt;BR /&gt;ERROR:&amp;nbsp; at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:127)&lt;BR /&gt;ERROR:&amp;nbsp; at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2555)&lt;BR /&gt;ERROR:&amp;nbsp; at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:2532)&lt;BR /&gt;ERROR:&amp;nbsp; at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:2424)&lt;BR /&gt;ERROR:&amp;nbsp; at org.apache.hadoop.conf.Configuration.set(Configuration.java:1149)&lt;BR /&gt;ERROR:&amp;nbsp; at org.apache.hadoop.conf.Configuration.set(Configuration.java:1121)&lt;BR /&gt;ERROR:&amp;nbsp; at org.apache.hadoop.conf.Configuration.setBoolean(Configuration.java:1457)&lt;BR /&gt;ERROR:&amp;nbsp; at com.dataflux.hadoop.DFConfiguration.&amp;lt;init&amp;gt;(DFConfiguration.java:95)&lt;BR /&gt;ERROR:&amp;nbsp; at com.dataflux.hadoop.DFConfiguration.&amp;lt;init&amp;gt;(DFConfiguration.java:72)&lt;BR /&gt;ERROR: Caused by: java.lang.ClassNotFoundException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;while another user receives:&lt;BR /&gt;ERROR: java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal&lt;BR /&gt;ERROR:&amp;nbsp; at java.lang.ClassLoader.defineClass1(Native Method)&lt;BR /&gt;ERROR:&amp;nbsp; at java.lang.ClassLoader.defineClass(ClassLoader.java:800)&lt;BR /&gt;ERROR:&amp;nbsp; at &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)&lt;BR /&gt;ERROR:&amp;nbsp; at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)&lt;BR /&gt;ERROR:&amp;nbsp; at java.net.URLClassLoader.access$100(URLClassLoader.java:71)&lt;BR /&gt;ERROR:&amp;nbsp; at java.net.URLClassLoader$1.run(URLClassLoader.java:361)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We suspect we are missing or have incorrect .jar file(s). The list of .jar files we are using are&lt;/P&gt;
&lt;P&gt;attached.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;BR /&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/13254i2A33B0332C0DEA42/image-size/large?v=1.0&amp;amp;px=600" border="0" alt="Jar Files for Hadoop.PNG" title="Jar Files for Hadoop.PNG" /&gt;</description>
      <pubDate>Wed, 14 Dec 2016 18:35:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/SAS-ACCESS-to-Hadoop-libname-read-returns-java-errors/m-p/319014#M9169</guid>
      <dc:creator>MALIGHT</dc:creator>
      <dc:date>2016-12-14T18:35:46Z</dc:date>
    </item>
    <item>
      <title>Re: SAS/ACCESS to Hadoop libname read returns java errors</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/SAS-ACCESS-to-Hadoop-libname-read-returns-java-errors/m-p/319984#M9190</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4285"&gt;@MALIGHT&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Was the hadooptracer program used to pull the JAR files? I don't think there are nearly enough JARs listed in the PNG file to connect to the Hadoop cluster.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is Apache Knox being used in this HDP cluster?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best wishes,&lt;/P&gt;
&lt;P&gt;Jeff&lt;/P&gt;</description>
      <pubDate>Mon, 19 Dec 2016 18:17:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/SAS-ACCESS-to-Hadoop-libname-read-returns-java-errors/m-p/319984#M9190</guid>
      <dc:creator>JBailey</dc:creator>
      <dc:date>2016-12-19T18:17:27Z</dc:date>
    </item>
    <item>
      <title>Re: SAS/ACCESS to Hadoop libname read returns java errors</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/SAS-ACCESS-to-Hadoop-libname-read-returns-java-errors/m-p/319993#M9191</link>
      <description>&lt;P&gt;Hi Jeff Bailey (from many moons ago testing SAS/ACCESS)!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm tracking down how we got hold of the JAR files we point to, since I wasn't involved in this end of the process. Knox was not installed as part of our HDP cluster.&lt;/P&gt;
&lt;P&gt;After an adjustment on the Hive serve node by our IT department this morning, my original PROC SQL step still failed. I decided to add&lt;/P&gt;
&lt;P&gt;the read_method=jdbc option to the Libname statement, and the PROC SQL step now works. From the S/A doc, there is no default for&lt;BR /&gt;the read_method= option but if I remove it comepletely or assign read_method=hdfs, it fails with errors as listed in original post.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Does read_method=jdbc bypass need to use JAR files?&lt;/P&gt;</description>
      <pubDate>Mon, 19 Dec 2016 18:48:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/SAS-ACCESS-to-Hadoop-libname-read-returns-java-errors/m-p/319993#M9191</guid>
      <dc:creator>MALIGHT</dc:creator>
      <dc:date>2016-12-19T18:48:06Z</dc:date>
    </item>
    <item>
      <title>Re: SAS/ACCESS to Hadoop libname read returns java errors</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/SAS-ACCESS-to-Hadoop-libname-read-returns-java-errors/m-p/320002#M9192</link>
      <description>&lt;P&gt;Hi &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4285"&gt;@MALIGHT&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;READ_METHOD=jdbc bypasses HDFS processing. This is an indication that you are missing some JARs.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You may want to try setting SAS_HADOOP_RESTFUL=1 environment variable. I think this option first appeared in SAS 9.4M3, but I could be wrong. This option enables HDFS processing to use the REST interface. This limits the need for certain JARs, too. If you set it and don't see a change in behavior it is probably because it wasn't implemented at M2.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I think your best bet is to go through the process of getting the correct set of JARs.&lt;/P&gt;</description>
      <pubDate>Mon, 19 Dec 2016 19:09:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/SAS-ACCESS-to-Hadoop-libname-read-returns-java-errors/m-p/320002#M9192</guid>
      <dc:creator>JBailey</dc:creator>
      <dc:date>2016-12-19T19:09:27Z</dc:date>
    </item>
  </channel>
</rss>

