PySpark中的多集计数(使用结构化流)

时间:2018-10-23 11:27:00

标签: python pyspark pyspark-sql

假设我有一个包含两列的数据框:a和b。现在,我希望具有每对(a,b)的计数以及a的总计数,以使其具有以下结构。

假设我有以下数据:

$(a,b)\ in {(1,1),(1,2),(2,3),(3,4)} $

然后我想获得以下行:

$ [1,2,{1:1,2:1}]],[2,1,{3:1}],[3,1,{4:1}] $

换句话说,第一行表示一个事实,即总共有2个观测值。 b等于1的一个观测值,b等于2的一个观测值。第2行包含a = 2得到一个观测值,b = 3观测值的信息。第三行表示的事实是,对于a = 3,即b = 4,有一个观测值。

如何使用PySpark做到这一点?

我尝试了以下操作:

export default class Home extends Component{
      constructor() {
        super();
        this.state = {
        users:[],
        };
      }

 componentDidMount() {
   axios
   .get("http://localhost:5000/getNews1") 
   .then(response =>{
     this.setState({users:response.data.articles});
    })
 }

 handleSubmit(){}

     render(){
       const news = this.state.users.map((item, i) =>{
         return(
           <Col sm="4">
             <div key={i}>
               <Card id="size">
                 <CardImg top width="100%" src={item.urlToImage} alt={item.title} />
                <CardBody>
                  <CardTitle>{item.title}</CardTitle>
                  <CardSubtitle id="subtitle">{item.description}</CardSubtitle>
                  <CardText>{item.content}</CardText>
                  </CardBody>
                  <CardFooter>
                  <Button id="save_btn" onClick ={this.handleSubmit}>Save</Button>
                  <Button id="read-btn" href={item.url} target="_blank">Read More</Button>
                  </CardFooter>
                </Card>
                <br/>
               </div>
           </Col>
        )
       })   
      return(
       <div>
         <Container>
          <Row>
           {news}
          </Row>
         </Container>
        </div>
       )         
     }
   }

但这显然行不通。我松散了每对支数的信息。

0 个答案:

没有答案