blob: 9ea42c55fb2e1ab7ba19db8de82321e4bac58595 [file] [log] [blame]
Ian Maxoned124d82015-05-29 18:44:11 -07001<!DOCTYPE html>
2<!--
3 | Generated by Apache Maven Doxia at 2015-05-29
4 | Rendered using Apache Maven Fluido Skin 1.3.0
5-->
6<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7 <head>
8 <meta charset="UTF-8" />
9 <meta name="viewport" content="width=device-width, initial-scale=1.0" />
10 <meta name="Date-Revision-yyyymmdd" content="20150529" />
11 <meta http-equiv="Content-Language" content="en" />
12 <title>AsterixDB - </title>
13 <link rel="stylesheet" href="../css/apache-maven-fluido-1.3.0.min.css" />
14 <link rel="stylesheet" href="../css/site.css" />
15 <link rel="stylesheet" href="../css/print.css" media="print" />
16
17
18 <script type="text/javascript" src="../js/apache-maven-fluido-1.3.0.min.js"></script>
19
20
21 </head>
22 <body class="topBarDisabled">
23
24
25
26
27 <div class="container-fluid">
28 <div id="banner">
29 <div class="pull-left">
30 <a href=".././" id="bannerLeft">
31 <img src="../images/asterixlogo.png" alt="AsterixDB"/>
32 </a>
33 </div>
34 <div class="pull-right"> <a href="http://incubator.apache.org/" id="bannerRight">
35 <img src="../images/egg-logo.png" alt="Apache Software Foundation Incubator"/>
36 </a>
37 </div>
38 <div class="clear"><hr/></div>
39 </div>
40
41 <div id="breadcrumbs">
42 <ul class="breadcrumb">
43
44
45 <li id="publishDate">Last Published: 2015-05-29</li>
46
47
48
49 <li id="projectVersion" class="pull-right">Version: 0.8.7-SNAPSHOT</li>
50
51 <li class="divider pull-right">|</li>
52
53 <li class="pull-right"> <a href="../index.html" title="Home">
54 Home</a>
55 </li>
56
57 </ul>
58 </div>
59
60
61 <div class="row-fluid">
62 <div id="leftColumn" class="span3">
63 <div class="well sidebar-nav">
64
65
66 <ul class="nav nav-list">
67 <li class="nav-header">Apache Software Foundation</li>
68
69 <li>
70
71 <a href="http://www.apache.org/" class="externalLink" title="Home">
72 <i class="none"></i>
73 Home</a>
74 </li>
75
76 <li>
77
78 <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Donate">
79 <i class="none"></i>
80 Donate</a>
81 </li>
82
83 <li>
84
85 <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">
86 <i class="none"></i>
87 Thanks</a>
88 </li>
89
90 <li>
91
92 <a href="http://www.apache.org/security/" class="externalLink" title="Security">
93 <i class="none"></i>
94 Security</a>
95 </li>
96 <li class="nav-header">User Documentation</li>
97
98 <li>
99
100 <a href="../install.html" title="Installing and Managing AsterixDB using Managix">
101 <i class="none"></i>
102 Installing and Managing AsterixDB using Managix</a>
103 </li>
104
105 <li>
106
107 <a href="../aql/primer.html" title="AsterixDB 101: An ADM and AQL Primer">
108 <i class="none"></i>
109 AsterixDB 101: An ADM and AQL Primer</a>
110 </li>
111
112 <li>
113
114 <a href="../aql/primer-sql-like.html" title="AsterixDB 101: An ADM and AQL Primer (For SQL Fans)">
115 <i class="none"></i>
116 AsterixDB 101: An ADM and AQL Primer (For SQL Fans)</a>
117 </li>
118
119 <li>
120
121 <a href="../aql/js-sdk.html" title="AsterixDB Javascript SDK">
122 <i class="none"></i>
123 AsterixDB Javascript SDK</a>
124 </li>
125
126 <li>
127
128 <a href="../aql/datamodel.html" title="Asterix Data Model (ADM)">
129 <i class="none"></i>
130 Asterix Data Model (ADM)</a>
131 </li>
132
133 <li>
134
135 <a href="../aql/manual.html" title="Asterix Query Language (AQL)">
136 <i class="none"></i>
137 Asterix Query Language (AQL)</a>
138 </li>
139
140 <li>
141
142 <a href="../aql/functions.html" title="AQL Functions">
143 <i class="none"></i>
144 AQL Functions</a>
145 </li>
146
147 <li>
148
149 <a href="../aql/allens.html" title="AQL Allen's Relations Functions">
150 <i class="none"></i>
151 AQL Allen's Relations Functions</a>
152 </li>
153
154 <li>
155
156 <a href="../aql/similarity.html" title="AQL Support of Similarity Queries">
157 <i class="none"></i>
158 AQL Support of Similarity Queries</a>
159 </li>
160
161 <li class="active">
162
163 <a href="#"><i class="none"></i>Accessing External Data</a>
164 </li>
165
166 <li>
167
168 <a href="../aql/filters.html" title="Filter-Based LSM Index Acceleration">
169 <i class="none"></i>
170 Filter-Based LSM Index Acceleration</a>
171 </li>
172
173 <li>
174
175 <a href="../api.html" title="REST API to AsterixDB">
176 <i class="none"></i>
177 REST API to AsterixDB</a>
178 </li>
179 </ul>
180
181
182
183 <hr class="divider" />
184
185 <div id="poweredBy">
186 <div class="clear"></div>
187 <div class="clear"></div>
188 <div class="clear"></div>
189 <a href=".././" title="Hyracks" class="builtBy">
190 <img class="builtBy" alt="Hyracks" src="../images/hyrax_ts.png" />
191 </a>
192 </div>
193 </div>
194 </div>
195
196
197 <div id="bodyColumn" class="span9" >
198
199 <h1>Accessing External Data in AsterixDB</h1>
200<div class="section">
201<h2><a name="toc" id="toc">Table of Contents</a><a name="Table_of_Contents"></a></h2>
202
203<ul>
204
205<li><a href="#Introduction">Introduction</a></li>
206
207<li><a href="#IntroductionAdapterForAnExternalDataset">Adapter for an External Dataset</a></li>
208
209<li><a href="#IntroductionCreatingAnExternalDataset">Creating an External Dataset</a></li>
210
211<li><a href="#WritingQueriesAgainstAnExternalDataset">Writing Queries against an External Dataset</a></li>
212</ul></div>
213<div class="section">
214<h2><a name="Introduction" id="Introduction">Introduction</a> <font size="4"><a href="#toc">[Back to TOC]</a></font><a name="Introduction_Back_to_TOC"></a></h2>
215<p>Data that needs to be processed by ASTERIX could be residing outside ASTERIX storage. Examples include data files on a distributed file system such as HDFS or on the local file system of a machine that is part of an ASTERIX cluster. For ASTERIX to process such data, end-user may create a regular dataset in ASTERIX (a.k.a. internal dataset) and load the dataset with the data. ASTERIX supports &#x2018;&#x2018;external datasets&#x2019;&#x2019; so that it is not necessary to &#x201c;load&#x201d; all data prior to using it. This also avoids creating multiple copies of data and the need to keep the copies in sync.</p>
216<div class="section">
217<h3><a name="IntroductionAdapterForAnExternalDataset" id="IntroductionAdapterForAnExternalDataset">Adapter for an External Dataset</a> <font size="4"><a href="#toc">[Back to TOC]</a></font><a name="Adapter_for_an_External_Dataset_Back_to_TOC"></a></h3>
218<p>External data is accessed using wrappers (adapters in ASTERIX) that abstract away the mechanism of connecting with an external service, receiving data and transforming the data into ADM records that are understood by ASTERIX. ASTERIX comes with built-in adapters for common storage systems such as HDFS or the local file system.</p></div>
219<div class="section">
220<h3><a name="IntroductionCreatingAnExternalDataset" id="IntroductionCreatingAnExternalDataset">Creating an External Dataset</a> <font size="4"><a href="#toc">[Back to TOC]</a></font><a name="Creating_an_External_Dataset_Back_to_TOC"></a></h3>
221<p>As an example we consider the Lineitem dataset from <a class="externalLink" href="http://www.openlinksw.com/dataspace/doc/dav/wiki/Main/VOSTPCHLinkedData/tpch.sql">TPCH schema</a>.</p>
222<p>We assume that you have successfully created an ASTERIX instance following the instructions at <a href="../install.html">Installing Asterix Using Managix</a>. <i>For constructing an example, we assume a single machine setup.</i></p>
223<p>Similar to a regular dataset, an external dataset has an associated datatype. We shall first create the datatype associated with each record in Lineitem data. Paste the following in the query textbox on the webpage at <a class="externalLink" href="http://127.0.0.1:19001">http://127.0.0.1:19001</a> and hit &#x2018;Execute&#x2019;.</p>
224
225<div class="source">
226<pre> create dataverse ExternalFileDemo;
227 use dataverse ExternalFileDemo;
228
229 create type LineitemType as closed {
230 l_orderkey:int32,
231 l_partkey: int32,
232 l_suppkey: int32,
233 l_linenumber: int32,
234 l_quantity: double,
235 l_extendedprice: double,
236 l_discount: double,
237 l_tax: double,
238 l_returnflag: string,
239 l_linestatus: string,
240 l_shipdate: string,
241 l_commitdate: string,
242 l_receiptdate: string,
243 l_shipinstruct: string,
244 l_shipmode: string,
245 l_comment: string}
246</pre></div>
247<p>We describe here two scenarios.</p>
248<div class="section">
249<h4>1) Data file resides on the local file system of a host<a name="a1_Data_file_resides_on_the_local_file_system_of_a_host"></a></h4>
250<p>Prerequisite: The host is a part of the ASTERIX cluster.</p>
251<p>Earlier, we assumed a single machine ASTERIX setup. To satisfy the prerequisite, log-in to the machine running ASTERIX.</p>
252
253<ul>
254
255<li>Download the <a class="externalLink" href="https://code.google.com/p/asterixdb/downloads/detail?name=lineitem.tbl&amp;can=2&amp;q=">data file</a> to an appropriate location. We denote this location by SOURCE_PATH.</li>
256</ul>
257<p>ASTERIX provides a built-in adapter for data residing on the local file system. The adapter is referred by its alias- &#x2018;localfs&#x2019;. We create an external dataset named Lineitem and use the &#x2018;localfs&#x2019; adapter.</p>
258
259<div class="source">
260<pre> create external dataset Lineitem(LineitemType)
261 using localfs
262</pre></div>
263<p>Above, the definition is not complete as we need to provide a set of parameters that are specific to the source file.</p>
264
265<table border="0" class="table table-striped">
266
267<tr class="a">
268
269<td> Parameter </td>
270
271<td> Description </td>
272</tr>
273
274<tr class="b">
275
276<td> path </td>
277
278<td> A fully qualified path of the form <tt>host://&lt;absolute path&gt;</tt>.
279 Use a comma separated list if there are multiple files.
280 E.g. <tt>host1://&lt;absolute path&gt;</tt>, <tt>host2://&lt;absolute path&gt;</tt> and so forth. </td>
281</tr>
282
283<tr class="a">
284
285<td> format </td>
286
287<td> The format for the content. Use 'adm' for data in ADM (ASTERIX Data Model) or <a class="externalLink" href="http://www.json.org/">JSON</a> format. Use 'delimited-text' if fields are separated by a delimiting character (eg., CSV). </td></tr>
288
289<tr class="b">
290<td>delimiter</td>
291<td>The delimiting character in the source file if format is 'delimited text'</td></tr>
292</table>
293<p>As we are using a single single machine ASTERIX instance, we use 127.0.0.1 as host in the path parameter. We <i>complete the create dataset statement</i> as follows.</p>
294
295<div class="source">
296<pre> use dataverse ExternalFileDemo;
297
298 create external dataset Lineitem(LineitemType)
299 using localfs
300 ((&quot;path&quot;=&quot;127.0.0.1://SOURCE_PATH&quot;),
301 (&quot;format&quot;=&quot;delimited-text&quot;),
302 (&quot;delimiter&quot;=&quot;|&quot;));
303</pre></div>
304<p>Please substitute SOURCE_PATH with the absolute path to the source file on the local file system.</p></div>
305<div class="section">
306<h4>Common source of error<a name="Common_source_of_error"></a></h4>
307<p>An incorrect value for the path parameter will give the following exception message when the dataset is used in a query.</p>
308
309<div class="source">
310<pre> edu.uci.ics.hyracks.algebricks.common.exceptions.AlgebricksException: edu.uci.ics.hyracks.api.exceptions.HyracksDataException: edu.uci.ics.hyracks.api.exceptions.HyracksDataException: Job failed.
311</pre></div>
312<p>Verify the correctness of the path parameter provided to the localfs adapter. Note that the path parameter must be an absolute path to the data file. For e.g. if you saved your file in your home directory (assume it to be /home/joe), then the path value should be</p>
313
314<div class="source">
315<pre> 127.0.0.1:///home/joe/lineitem.tbl.
316</pre></div>
317<p>In your web-browser, navigate to 127.0.0.1:19001 and paste the above to the query text box. Finally hit &#x2018;Execute&#x2019;.</p>
318<p>Next we move over to the the section <a href="#Writing_Queries_against_an_External_Dataset">Writing Queries against an External Dataset</a> and try a sample query against the external dataset.</p></div>
319<div class="section">
320<h4>2) Data file resides on an HDFS instance<a name="a2_Data_file_resides_on_an_HDFS_instance"></a></h4>
321<p>Pre-requisite: It is required that the Namenode and atleast one of the HDFS Datanodes are reachable from the hosts that form the ASTERIX cluster. ASTERIX provides a built-in adapter for data residing on HDFS. The HDFS adapter is referred (in AQL) by its alias - &#x2018;hdfs&#x2019;. We create an external dataset named Lineitem and associate the HDFS adapter with it.</p>
322
323<div class="source">
324<pre> create external dataset Lineitem(LineitemType)
325 using hdfs
326</pre></div>
327<p>The above statement is <i>not complete</i> as we need to provide a set of parameters specific to the HDFS instance and the source file. These parameters are described below.</p>
328
329<table border="0" class="table table-striped">
330
331<tr class="a">
332
333<td> Parameter </td>
334
335<td> Description </td>
336</tr>
337
338<tr class="b">
339
340<td> hdfs </td>
341
342<td> The HDFS URL </td>
343</tr>
344
345<tr class="a">
346
347<td> path </td>
348
349<td> The absolute path to the source HDFS file. Use a comma separated list if there are multiple files. </td></tr>
350
351<tr class="b">
352
353<td> input-format </td>
354
355<td> The associated input format. Use 'text-input-format' for textual data or 'sequence-input-format' for binary data (sequence files). </td>
356</tr>
357
358<tr class="a">
359
360<td> format </td>
361
362<td> The format for the content. Use 'adm' for data in ADM (ASTERIX Data Model) or
363 <a class="externalLink" href="http://www.json.org/">JSON</a> format and use 'delimited-text' for delimited data
364 that has fields separated by a delimiting character. </td>
365</tr>
366
367<tr class="b">
368
369<td> delimiter </td>
370
371<td> The delimiting character in the source file if format is 'delimited text' </td>
372</tr>
373</table>
374<p><i>Difference between &#x2018;input-format&#x2019; and &#x2018;format&#x2019;</i></p>
375<p><i>input-format</i>: File stored under HDFS have an associated storage format For example, TextInputFormat represents plain text files. SequenceFileInputFormat indicates binary compressed file. The parameter &#x2018;input-format&#x2019; is used to distinguish between these two kind of files.</p>
376<p><i>format</i>: The parameter &#x2018;format&#x2019; refers to the type of the data contained in the file. For example data contained in a file could be in json, ADM format or could be delimited-text with fields separated by a delimiting character.</p>
377<p>As an example. consider the <a class="externalLink" href="https://code.google.com/p/asterixdb/downloads/detail?name=lineitem.tbl&amp;can=2&amp;q=">data file</a>. The file is a text file with each line representing a record. The fields in each record are separated by the &#x2018;|&#x2019; character.</p>
378<p>We assume the HDFS URL to be <a class="externalLink" href="hdfs://host:port">hdfs://host:port</a>. We further assume that the example data file is copied to the HDFS at a path denoted by HDFS_PATH.</p>
379<p>The complete set of parameters for our example file are as follows. ((&#x201c;hdfs&#x201d;=&#x201c;HDFS_URL&#x201d;,(&#x201c;path&#x201d;=&#x201c;HDFS_PATH&#x201d;),(&#x201c;input-format&#x201d;=&#x201c;text-input-format&#x201d;),(&#x201c;format&#x201d;=&#x201c;delimited-text&#x201d;),(&#x201c;delimiter&#x201d;=&#x201c;|&#x201d;))</p>
380<p>We modify the create external dataset statement as follows.</p>
381
382<div class="source">
383<pre> create external dataset Lineitem('LineitemType)
384 using hdfs
385 ((&quot;hdfs&quot;=&quot;HDFS_URL&quot;),(&quot;path&quot;=&quot;HDFS_PATH&quot;),(&quot;input-format&quot;=&quot;text-input-format&quot;),(&quot;format&quot;=&quot;delimited-text&quot;),(&quot;delimiter&quot;=&quot;|&quot;));
386</pre></div>
387<p>Once you have copied the source data file to your HDFS instance, substitute the values of HDFS_URL and HDFS_PATH in the above statement. In your web-browser, navigate to <a class="externalLink" href="http://127.0.0.1:19001">http://127.0.0.1:19001</a> and execute the above statement with substituted values.</p>
388<p>You may now run the sample query in next section.</p></div></div></div>
389<div class="section">
390<h2><a name="WritingQueriesAgainstAnExternalDataset" id="WritingQueriesAgainstAnExternalDataset">Writing Queries against an External Dataset</a> <font size="4"><a href="#toc">[Back to TOC]</a></font><a name="Writing_Queries_against_an_External_Dataset_Back_to_TOC"></a></h2>
391<p>You may write AQL queries against an external dataset. Following is an example AQL query that applies a filter and returns an ordered result.</p>
392
393<div class="source">
394<pre> use dataverse ExternalFileDemo;
395
396 for $c in dataset('Lineitem')
397 where $c.l_orderkey &lt;= 3
398 order by $c.l_orderkey, $c.l_linenumber
399 return $c
400</pre></div>
401<p>The expected result is:</p>
402
403<div class="source">
404<pre> { &quot;l_orderkey&quot;: 1, &quot;l_partkey&quot;: 156, &quot;l_suppkey&quot;: 4, &quot;l_linenumber&quot;: 1, &quot;l_quantity&quot;: 17, &quot;l_extendedprice&quot;: 17954.55d, &quot;l_discount&quot;: 0.04d, &quot;l_tax&quot;: 0.02d, &quot;l_returnflag&quot;: &quot;N&quot;, &quot;l_linestatus&quot;: &quot;O&quot;, &quot;l_shipdate&quot;: &quot;1996-03-13&quot;, &quot;l_commitdate&quot;: &quot;1996-02-12&quot;, &quot;l_receiptdate&quot;: &quot;1996-03-22&quot;, &quot;l_shipinstruct&quot;: &quot;DELIVER IN PERSON&quot;, &quot;l_shipmode&quot;: &quot;TRUCK&quot;, &quot;l_comment&quot;: &quot;egular courts above the&quot; }
405 { &quot;l_orderkey&quot;: 1, &quot;l_partkey&quot;: 68, &quot;l_suppkey&quot;: 9, &quot;l_linenumber&quot;: 2, &quot;l_quantity&quot;: 36, &quot;l_extendedprice&quot;: 34850.16d, &quot;l_discount&quot;: 0.09d, &quot;l_tax&quot;: 0.06d, &quot;l_returnflag&quot;: &quot;N&quot;, &quot;l_linestatus&quot;: &quot;O&quot;, &quot;l_shipdate&quot;: &quot;1996-04-12&quot;, &quot;l_commitdate&quot;: &quot;1996-02-28&quot;, &quot;l_receiptdate&quot;: &quot;1996-04-20&quot;, &quot;l_shipinstruct&quot;: &quot;TAKE BACK RETURN&quot;, &quot;l_shipmode&quot;: &quot;MAIL&quot;, &quot;l_comment&quot;: &quot;ly final dependencies: slyly bold &quot; }
406 { &quot;l_orderkey&quot;: 1, &quot;l_partkey&quot;: 64, &quot;l_suppkey&quot;: 5, &quot;l_linenumber&quot;: 3, &quot;l_quantity&quot;: 8, &quot;l_extendedprice&quot;: 7712.48d, &quot;l_discount&quot;: 0.1d, &quot;l_tax&quot;: 0.02d, &quot;l_returnflag&quot;: &quot;N&quot;, &quot;l_linestatus&quot;: &quot;O&quot;, &quot;l_shipdate&quot;: &quot;1996-01-29&quot;, &quot;l_commitdate&quot;: &quot;1996-03-05&quot;, &quot;l_receiptdate&quot;: &quot;1996-01-31&quot;, &quot;l_shipinstruct&quot;: &quot;TAKE BACK RETURN&quot;, &quot;l_shipmode&quot;: &quot;REG AIR&quot;, &quot;l_comment&quot;: &quot;riously. regular, express dep&quot; }
407 { &quot;l_orderkey&quot;: 1, &quot;l_partkey&quot;: 3, &quot;l_suppkey&quot;: 6, &quot;l_linenumber&quot;: 4, &quot;l_quantity&quot;: 28, &quot;l_extendedprice&quot;: 25284.0d, &quot;l_discount&quot;: 0.09d, &quot;l_tax&quot;: 0.06d, &quot;l_returnflag&quot;: &quot;N&quot;, &quot;l_linestatus&quot;: &quot;O&quot;, &quot;l_shipdate&quot;: &quot;1996-04-21&quot;, &quot;l_commitdate&quot;: &quot;1996-03-30&quot;, &quot;l_receiptdate&quot;: &quot;1996-05-16&quot;, &quot;l_shipinstruct&quot;: &quot;NONE&quot;, &quot;l_shipmode&quot;: &quot;AIR&quot;, &quot;l_comment&quot;: &quot;lites. fluffily even de&quot; }
408 { &quot;l_orderkey&quot;: 1, &quot;l_partkey&quot;: 25, &quot;l_suppkey&quot;: 8, &quot;l_linenumber&quot;: 5, &quot;l_quantity&quot;: 24, &quot;l_extendedprice&quot;: 22200.48d, &quot;l_discount&quot;: 0.1d, &quot;l_tax&quot;: 0.04d, &quot;l_returnflag&quot;: &quot;N&quot;, &quot;l_linestatus&quot;: &quot;O&quot;, &quot;l_shipdate&quot;: &quot;1996-03-30&quot;, &quot;l_commitdate&quot;: &quot;1996-03-14&quot;, &quot;l_receiptdate&quot;: &quot;1996-04-01&quot;, &quot;l_shipinstruct&quot;: &quot;NONE&quot;, &quot;l_shipmode&quot;: &quot;FOB&quot;, &quot;l_comment&quot;: &quot; pending foxes. slyly re&quot; }
409 { &quot;l_orderkey&quot;: 1, &quot;l_partkey&quot;: 16, &quot;l_suppkey&quot;: 3, &quot;l_linenumber&quot;: 6, &quot;l_quantity&quot;: 32, &quot;l_extendedprice&quot;: 29312.32d, &quot;l_discount&quot;: 0.07d, &quot;l_tax&quot;: 0.02d, &quot;l_returnflag&quot;: &quot;N&quot;, &quot;l_linestatus&quot;: &quot;O&quot;, &quot;l_shipdate&quot;: &quot;1996-01-30&quot;, &quot;l_commitdate&quot;: &quot;1996-02-07&quot;, &quot;l_receiptdate&quot;: &quot;1996-02-03&quot;, &quot;l_shipinstruct&quot;: &quot;DELIVER IN PERSON&quot;, &quot;l_shipmode&quot;: &quot;MAIL&quot;, &quot;l_comment&quot;: &quot;arefully slyly ex&quot; }
410 { &quot;l_orderkey&quot;: 2, &quot;l_partkey&quot;: 107, &quot;l_suppkey&quot;: 2, &quot;l_linenumber&quot;: 1, &quot;l_quantity&quot;: 38, &quot;l_extendedprice&quot;: 38269.8d, &quot;l_discount&quot;: 0.0d, &quot;l_tax&quot;: 0.05d, &quot;l_returnflag&quot;: &quot;N&quot;, &quot;l_linestatus&quot;: &quot;O&quot;, &quot;l_shipdate&quot;: &quot;1997-01-28&quot;, &quot;l_commitdate&quot;: &quot;1997-01-14&quot;, &quot;l_receiptdate&quot;: &quot;1997-02-02&quot;, &quot;l_shipinstruct&quot;: &quot;TAKE BACK RETURN&quot;, &quot;l_shipmode&quot;: &quot;RAIL&quot;, &quot;l_comment&quot;: &quot;ven requests. deposits breach a&quot; }
411 { &quot;l_orderkey&quot;: 3, &quot;l_partkey&quot;: 5, &quot;l_suppkey&quot;: 2, &quot;l_linenumber&quot;: 1, &quot;l_quantity&quot;: 45, &quot;l_extendedprice&quot;: 40725.0d, &quot;l_discount&quot;: 0.06d, &quot;l_tax&quot;: 0.0d, &quot;l_returnflag&quot;: &quot;R&quot;, &quot;l_linestatus&quot;: &quot;F&quot;, &quot;l_shipdate&quot;: &quot;1994-02-02&quot;, &quot;l_commitdate&quot;: &quot;1994-01-04&quot;, &quot;l_receiptdate&quot;: &quot;1994-02-23&quot;, &quot;l_shipinstruct&quot;: &quot;NONE&quot;, &quot;l_shipmode&quot;: &quot;AIR&quot;, &quot;l_comment&quot;: &quot;ongside of the furiously brave acco&quot; }
412 { &quot;l_orderkey&quot;: 3, &quot;l_partkey&quot;: 20, &quot;l_suppkey&quot;: 10, &quot;l_linenumber&quot;: 2, &quot;l_quantity&quot;: 49, &quot;l_extendedprice&quot;: 45080.98d, &quot;l_discount&quot;: 0.1d, &quot;l_tax&quot;: 0.0d, &quot;l_returnflag&quot;: &quot;R&quot;, &quot;l_linestatus&quot;: &quot;F&quot;, &quot;l_shipdate&quot;: &quot;1993-11-09&quot;, &quot;l_commitdate&quot;: &quot;1993-12-20&quot;, &quot;l_receiptdate&quot;: &quot;1993-11-24&quot;, &quot;l_shipinstruct&quot;: &quot;TAKE BACK RETURN&quot;, &quot;l_shipmode&quot;: &quot;RAIL&quot;, &quot;l_comment&quot;: &quot; unusual accounts. eve&quot; }
413 { &quot;l_orderkey&quot;: 3, &quot;l_partkey&quot;: 129, &quot;l_suppkey&quot;: 8, &quot;l_linenumber&quot;: 3, &quot;l_quantity&quot;: 27, &quot;l_extendedprice&quot;: 27786.24d, &quot;l_discount&quot;: 0.06d, &quot;l_tax&quot;: 0.07d, &quot;l_returnflag&quot;: &quot;A&quot;, &quot;l_linestatus&quot;: &quot;F&quot;, &quot;l_shipdate&quot;: &quot;1994-01-16&quot;, &quot;l_commitdate&quot;: &quot;1993-11-22&quot;, &quot;l_receiptdate&quot;: &quot;1994-01-23&quot;, &quot;l_shipinstruct&quot;: &quot;DELIVER IN PERSON&quot;, &quot;l_shipmode&quot;: &quot;SHIP&quot;, &quot;l_comment&quot;: &quot;nal foxes wake. &quot; }
414 { &quot;l_orderkey&quot;: 3, &quot;l_partkey&quot;: 30, &quot;l_suppkey&quot;: 5, &quot;l_linenumber&quot;: 4, &quot;l_quantity&quot;: 2, &quot;l_extendedprice&quot;: 1860.06d, &quot;l_discount&quot;: 0.01d, &quot;l_tax&quot;: 0.06d, &quot;l_returnflag&quot;: &quot;A&quot;, &quot;l_linestatus&quot;: &quot;F&quot;, &quot;l_shipdate&quot;: &quot;1993-12-04&quot;, &quot;l_commitdate&quot;: &quot;1994-01-07&quot;, &quot;l_receiptdate&quot;: &quot;1994-01-01&quot;, &quot;l_shipinstruct&quot;: &quot;NONE&quot;, &quot;l_shipmode&quot;: &quot;TRUCK&quot;, &quot;l_comment&quot;: &quot;y. fluffily pending d&quot; }
415 { &quot;l_orderkey&quot;: 3, &quot;l_partkey&quot;: 184, &quot;l_suppkey&quot;: 5, &quot;l_linenumber&quot;: 5, &quot;l_quantity&quot;: 28, &quot;l_extendedprice&quot;: 30357.04d, &quot;l_discount&quot;: 0.04d, &quot;l_tax&quot;: 0.0d, &quot;l_returnflag&quot;: &quot;R&quot;, &quot;l_linestatus&quot;: &quot;F&quot;, &quot;l_shipdate&quot;: &quot;1993-12-14&quot;, &quot;l_commitdate&quot;: &quot;1994-01-10&quot;, &quot;l_receiptdate&quot;: &quot;1994-01-01&quot;, &quot;l_shipinstruct&quot;: &quot;TAKE BACK RETURN&quot;, &quot;l_shipmode&quot;: &quot;FOB&quot;, &quot;l_comment&quot;: &quot;ages nag slyly pending&quot; }
416 { &quot;l_orderkey&quot;: 3, &quot;l_partkey&quot;: 63, &quot;l_suppkey&quot;: 8, &quot;l_linenumber&quot;: 6, &quot;l_quantity&quot;: 26, &quot;l_extendedprice&quot;: 25039.56d, &quot;l_discount&quot;: 0.1d, &quot;l_tax&quot;: 0.02d, &quot;l_returnflag&quot;: &quot;A&quot;, &quot;l_linestatus&quot;: &quot;F&quot;, &quot;l_shipdate&quot;: &quot;1993-10-29&quot;, &quot;l_commitdate&quot;: &quot;1993-12-18&quot;, &quot;l_receiptdate&quot;: &quot;1993-11-04&quot;, &quot;l_shipinstruct&quot;: &quot;TAKE BACK RETURN&quot;, &quot;l_shipmode&quot;: &quot;RAIL&quot;, &quot;l_comment&quot;: &quot;ges sleep after the caref&quot; }
417</pre></div></div>
418 </div>
419 </div>
420 </div>
421
422 <hr/>
423
424 <footer>
425 <div class="container-fluid">
426 <div class="row span12">Copyright &copy; 2015.
427 All Rights Reserved.
428
429 </div>
430
431 <?xml version="1.0" encoding="UTF-8"?>
432<div class="row-fluid">Apache AsterixDB, AsterixDB, Apache, the Apache
433 feather logo, and the Apache AsterixDB project logo are either
434 registered trademarks or trademarks of The Apache Software
435 Foundation in the United States and other countries.
436 All other marks mentioned may be trademarks or registered
437 trademarks of their respective owners.</div>
438
439
440 </div>
441 </footer>
442 </body>
443</html>