如何在Pig中的csv文件中读取下一行(how to read next line in csv file in Pig)
我想写一个猪脚本来计算两点之间的距离。 数据输入是
x,y 0.0,0.0 18.6,-11.1 36.1,-21.9 53.7,-32.6 70.1,-42.8 86.5,-52.6 101.7,-62.3
距离公式:
sqrt((x2-x1)^2 + (y2-y1)^2)
但是我无法读到猪的下一行来计算距离!
有人可以帮帮我吗?
I would like to write a pig script to calculate distance between two points. data input is
x,y 0.0,0.0 18.6,-11.1 36.1,-21.9 53.7,-32.6 70.1,-42.8 86.5,-52.6 101.7,-62.3
Distance Formula:
sqrt((x2-x1)^2 + (y2-y1)^2)
but I can't read next line in Pig to calculate distance!
Could anyone please help me?
原文:https://stackoverflow.com/questions/28065700
更新时间:2022-02-25 13:02
最满意答案
如果每个
<person>
每<codes>
需要1行,则需要遍历<person>
的<codes>
<person>
。 要获取<person>
id
使用->getAttribute('id')
-<?php $dom = new DOMDocument(); $dom->load('person.xml'); $xpath = new DOMXpath($dom); echo <<<EOF <table border="1" cellspacing="2" cellpadding="2"> <tr> <th>Person ID</th> <th>Person Name</th> <th>Person LastName </th> <th>Code Numbers</th> </tr> EOF; $persons = $xpath->evaluate('//person'); foreach ($persons as $person) { //loop through each <code_number> foreach ($xpath->evaluate('./codes/code_number', $person) as $code_number) { echo '<tr>', "\n"; echo '<td>', htmlspecialchars($person->getAttribute('id')), '</td>', "\n"; echo '<td>', htmlspecialchars($xpath->evaluate('string(./person_name)', $person)), '</td>', "\n"; echo '<td>', htmlspecialchars($xpath->evaluate('string(./person_lastname)', $person)), '</td>', "\n"; echo '<td>'.htmlspecialchars($code_number->nodeValue).'</td>', "\n"; echo '</tr>', "\n"; } } echo '</table>'; ?>
这导致了
If you want 1 row per
<codes>
per<person>
, then you need to loop through the<codes>
inside the<person>
. To get the<person>
id
use->getAttribute('id')
-<?php $dom = new DOMDocument(); $dom->load('person.xml'); $xpath = new DOMXpath($dom); echo <<<EOF <table border="1" cellspacing="2" cellpadding="2"> <tr> <th>Person ID</th> <th>Person Name</th> <th>Person LastName </th> <th>Code Numbers</th> </tr> EOF; $persons = $xpath->evaluate('//person'); foreach ($persons as $person) { //loop through each <code_number> foreach ($xpath->evaluate('./codes/code_number', $person) as $code_number) { echo '<tr>', "\n"; echo '<td>', htmlspecialchars($person->getAttribute('id')), '</td>', "\n"; echo '<td>', htmlspecialchars($xpath->evaluate('string(./person_name)', $person)), '</td>', "\n"; echo '<td>', htmlspecialchars($xpath->evaluate('string(./person_lastname)', $person)), '</td>', "\n"; echo '<td>'.htmlspecialchars($code_number->nodeValue).'</td>', "\n"; echo '</tr>', "\n"; } } echo '</table>'; ?>
This results in
相关问答
更多-
使用usort() function cmp($a, $b) { if (count($a) == count($b)) { return 0; } return (count($a) < count($b)) ? -1 : 1; } usort($array, "cmp"); 这是该函数的更好的优化版本(仅调用count()两次): function cmp($a, $b) { $numA = count($a); $numB = count($ ...
-
好吧,我想出了办法: if ( (stristr($d->item(0)->childNodes->item(0)->nodeValue,$q) !=false) || (stristr($z->item(0)->childNodes->item(0)->nodeValue,$q) !=false) ) 我怀疑这是最佳方式,所以如果有人有更好的解决方案,请随意添加它。 Well, I figured out a way: if ( (stristr($d->item(0)->childNod ...
-
如果每个
每 需要1行,则需要遍历 的 。 要获取 id使用->getAttribute('id') - load('person.xml'); $xpath = new DOMXpath($dom); echo << ... PHP将XML文件中的多个元素复制到另一个XML文件中(PHP copy multiple elements from an XML file to another XML file)[2021-07-19]
由于输出结构是扁平的,您可以使用SimpleXML加载文件,然后只扫描结构,如果元素名称与您想要的字段列表匹配,则只需将它们添加到输出XML文档。 $file = "voucher.xml"; $in = simplexml_load_file($file); $out = new SimpleXMLElement(""); // You need a base element $fields = ["DATE", "PARTYLEDGERNAME", "LEDGE ... 因为它不是GIS或空间分析相关的,所以这个问题应该转移到堆栈溢出,但同时。 s <- data.frame( x = c("a","b","c"), y = c("d","e", NA), z = c(NA,"j",NA) ) 要将逗号作为单个向量或列添加: paste(sapply(strsplit(as.vector(na.omit(c(s[,1], s[,2], s[,3]))), ""), paste, collapse=":"), collapse=", ") sa ...如何根据xy坐标和宽度高度安排多个html元素?(How to arrange multiple html elements based on x-y coordinates and width-height?)[2023-05-31]
你可以简单地使用Javascript中的absolute来定位元素: function absElement(type, x, y, w, h) { let d = document.createElement(type); d.style.position = "absolute"; d.style.left = x + "px"; d.style.top = y + "px"; d.style.width = w + "px"; d.style.heigh ...Scrapy使用xpath输出多个项目元素到单个csv?(Scrapy output multiple item elements with xpath to single csv?)[2022-03-23]
我知道您要为此页面抓取1个项目,但//table[@class="contenttable company-details"]匹配HTML内容中的2个表格元素,因此for site in sites:的for site in sites:将运行两次,创建2个项目。 对于每个表,XPath表达式将在当前表中应用,如果它们是相对的 - .//th[text()="Item Code"] 。 绝对XPath表达式,例如//th[text()="Company Mission"] ,将从HTML文档的根元素中查找元 ...要使用哪个集合取决于您要对集合执行的操作。 您的要求将决定选择。 但是不要限制自己收藏。 使用类来构造数据,否则你可能会遇到像Map>>或List - >>这样的混乱。 我建议查看JAXB以简化XML的使用: https : //docs.oracle.com/javase/tutorial/jaxb/intro/arch.html 如果可以避免,请不要使用数组! Which collection to use depends on wha ...
只需将Header添加为XML类型列 : DECLARE @tbl TABLE([GUID] UNIQUEIDENTIFIER,OrderNum BIGINT, OrderDate DATETIME); INSERT INTO @tbl VALUES(NEWID(),1111111,{ts'2001-01-01 01:00:00'}) ,(NEWID(),2222222,{ts'2002-02-02 02:00:00'}) ...每行SQL XML多个元素(SQL XML Multiple Elements Per Row)[2022-05-27]
你自己的更新2正是我想建议你的事情...... 现在我认为其余的很容易: 将子选择的JOIN更改为简单的WHERE : (SELECT dri1.ID , RelationshipToPH , dri1.FirstName , dri1.Surname FROM dbo.Drivers dri WHERE dri.ID=sub.ID FOR XML PATH('Driver') , TYPE ) ...相关文章
更多- Pig实战
- Java 流(Stream)、文件(File)和IO
- 顶 Hadoop、Pig、Hive、Storm、NOSQL 学习资源收集【Updating】
- Failed to read auto-increment value from storage engine错误的解决方法
- Hadoop pig进阶语法
- Hadoop Pig源码分析(一) Pig加载配置的四种方式
- fw:Hadoop、Pig、Hive、Storm、NOSQL 学习资源收集【Updating】
- (五) solr 索引数据导入:csv格式
- 【HDFS】HADOOP DISTRIBUTED FILE SYSTEM
- SVG 直线 line
最新问答
更多- 如何在Laravel 5.2中使用paginate与关系?(How to use paginate with relationships in Laravel 5.2?)
- linux的常用命令干什么用的
- 由于有四个新控制器,Auth刀片是否有任何变化?(Are there any changes in Auth blades due to four new controllers?)
- 如何交换返回集中的行?(How to swap rows in a return set?)
- 在ios 7中的UITableView部分周围绘制边界线(draw borderline around UITableView section in ios 7)
- 使用Boost.Spirit Qi和Lex时的空白队长(Whitespace skipper when using Boost.Spirit Qi and Lex)
- Java中的不可变类(Immutable class in Java)
- WordPress发布查询(WordPress post query)
- 如何在关系数据库中存储与IPv6兼容的地址(How to store IPv6-compatible address in a relational database)
- 是否可以检查对象值的条件并返回密钥?(Is it possible to check the condition of a value of an object and JUST return the key?)
- GEP分段错误LLVM C ++ API(GEP segmentation fault LLVM C++ API)
- 绑定属性设置器未被调用(Bound Property Setter not getting Called)
- linux ubuntu14.04版没有那个文件或目录
- 如何使用JSF EL表达式在param中迭代变量(How to iterate over variable in param using JSF EL expression)
- 是否有可能在WPF中的一个单独的进程中隔离一些控件?(Is it possible to isolate some controls in a separate process in WPF?)
- 使用Python 2.7的MSI安装的默认安装目录是什么?(What is the default installation directory with an MSI install of Python 2.7?)
- 寻求多次出现的表达式(Seeking for more than one occurrence of an expression)
- ckeditor config.protectedSource不适用于editor.insertHtml上的html元素属性(ckeditor config.protectedSource dont work for html element attributes on editor.insertHtml)
- linux只知道文件名,不知道在哪个目录,怎么找到文件所在目录
- Actionscript:检查字符串是否包含域或子域(Actionscript: check if string contains domain or subdomain)
- 将CouchDB与AJAX一起使用是否安全?(Is it safe to use CouchDB with AJAX?)
- 懒惰地初始化AutoMapper(Lazily initializing AutoMapper)
- 使用hasclass为多个div与一个按钮问题(using hasclass for multiple divs with one button Problems)
- Windows Phone 7:检查资源是否存在(Windows Phone 7: Check If Resource Exists)
- 无法在新线程中从FREContext调用getActivity()?(Can't call getActivity() from FREContext in a new thread?)
- 在Alpine上升级到postgres96(/ usr / bin / pg_dump:没有这样的文件或目录)(Upgrade to postgres96 on Alpine (/usr/bin/pg_dump: No such file or directory))
- 如何按部门显示报告(How to display a report by Department wise)
- Facebook墙贴在需要访问令牌密钥后无法正常工作(Facebook wall post not working after access token key required)
- Javascript - 如何在不擦除输入的情况下更改标签的innerText(Javascript - how to change innerText of label while not wiping out the input)
- WooCommerce / WordPress - 不显示具有特定标题的产品(WooCommerce/WordPress - Products with specific titles are not displayed)